mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-17 14:08:03 -06:00
Compare commits
12 Commits
search_enc
...
release-3.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
753e9181fe | ||
|
|
9546a73182 | ||
|
|
c0ee99c553 | ||
|
|
50976b8dc2 | ||
|
|
6a312461a1 | ||
|
|
3fe09bde12 | ||
|
|
f851b18b80 | ||
|
|
ced29ced1b | ||
|
|
5023b1ab74 | ||
|
|
c2ef78de8d | ||
|
|
6fbe452b55 | ||
|
|
51c4a0d8d0 |
@@ -1,4 +1,10 @@
|
||||
* Unreleased - Christophe Dumez <chris@qbittorrent.org> - v3.0.3
|
||||
* Tue Sep 18 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.4
|
||||
- BUGFIX: Fix issue with downloads starting from scratch on startup if temporary
|
||||
directory setting is enabled.
|
||||
|
||||
* Sun Sep 16 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.3
|
||||
- BUGFIX: Fix issue with temporary directory not being taken into consideration (closes #94)
|
||||
- BUGFIX: Address encoding issues when using search engine on Windows (closes #29)
|
||||
- BUGFIX: Bypass cache when uploading a torrent file in Web UI (closes #68)
|
||||
- BUGFIX: "Completed On" column is not updated until restart (closes #84)
|
||||
- BUGFIX: Fix possible build error on some systems
|
||||
|
||||
44
macxconf.pri
44
macxconf.pri
@@ -16,16 +16,50 @@ LIBS += -lssl -lcrypto
|
||||
# Boost system lib
|
||||
LIBS += -lboost_system-mt
|
||||
# Boost filesystem lib (Not needed for libtorrent >= 0.16.0)
|
||||
LIBS += -lboost_filesystem-mt
|
||||
#LIBS += -lboost_filesystem-mt
|
||||
# Carbon
|
||||
LIBS += -framework Carbon -framework IOKit
|
||||
|
||||
document_icon.path = Contents/Resources
|
||||
document_icon.files = Icons/qBitTorrentDocument.icns
|
||||
|
||||
document_icon.files = mac/qBitTorrentDocument.icns
|
||||
QMAKE_BUNDLE_DATA += document_icon
|
||||
ICON = Icons/qbittorrent_mac.icns
|
||||
QMAKE_INFO_PLIST = Info.plist
|
||||
|
||||
qt_conf.path = Contents/Resources
|
||||
qt_conf.files = mac/qt.conf
|
||||
QMAKE_BUNDLE_DATA += qt_conf
|
||||
|
||||
qt_translations.path = Contents/MacOS/translations
|
||||
qt_translations.files = qt-translations/qt_ar.qm \
|
||||
qt-translations/qt_bg.qm \
|
||||
qt-translations/qt_ca.qm \
|
||||
qt-translations/qt_cs.qm \
|
||||
qt-translations/qt_da.qm \
|
||||
qt-translations/qt_de.qm \
|
||||
qt-translations/qt_es.qm \
|
||||
qt-translations/qt_fi.qm \
|
||||
qt-translations/qt_fr.qm \
|
||||
qt-translations/qt_gl.qm \
|
||||
qt-translations/qt_he.qm \
|
||||
qt-translations/qt_hu.qm \
|
||||
qt-translations/qt_it.qm \
|
||||
qt-translations/qt_ja.qm \
|
||||
qt-translations/qt_ko.qm \
|
||||
qt-translations/qt_lt.qm \
|
||||
qt-translations/qt_nl.qm \
|
||||
qt-translations/qt_pl.qm \
|
||||
qt-translations/qt_pt.qm \
|
||||
qt-translations/qt_pt_BR.qm \
|
||||
qt-translations/qt_ru.qm \
|
||||
qt-translations/qt_sk.qm \
|
||||
qt-translations/qt_sv.qm \
|
||||
qt-translations/qt_tr.qm \
|
||||
qt-translations/qt_uk.qm \
|
||||
qt-translations/qt_zh_CN.qm \
|
||||
qt-translations/qt_zh_TW.qm
|
||||
QMAKE_BUNDLE_DATA += qt_translations
|
||||
|
||||
ICON = mac/qbittorrent_mac.icns
|
||||
QMAKE_INFO_PLIST = mac/Info.plist
|
||||
|
||||
DEFINES += WITH_GEOIP_EMBEDDED
|
||||
message("On Mac OS X, GeoIP database must be embedded.")
|
||||
|
||||
@@ -82,7 +82,7 @@ class about : public QDialog, private Ui::AboutDlg{
|
||||
<li><u>Greek:</u> Tsvetan Bankov (emerge_life@users.sourceforge.net)</li>\
|
||||
<li><u>Hebrew:</u> David Deutsch (d.deffo@gmail.com)</li>\
|
||||
<li><u>Hungarian:</u> Majoros Péter (majoros.peterj@gmail.com)</li>\
|
||||
<li><u>Italian:</u> Matteo Sechi (bu17714@gmail.com)</li>\
|
||||
<li><u>Italian:</u> bovirus (bovirus@live.it) and Matteo Sechi (bu17714@gmail.com)</li>\
|
||||
<li><u>Japanese:</u> Masato Hashimoto (cabezon.hashimoto@gmail.com)</li>\
|
||||
<li><u>Korean:</u> Jin Woo Sin (jin828sin@users.sourceforge.net)</li>\
|
||||
<li><u>Lithuanian:</u> Naglis Jonaitis (njonaitis@gmail.com)</li>\
|
||||
|
||||
646
src/icons.qrc
646
src/icons.qrc
@@ -1,352 +1,352 @@
|
||||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource>
|
||||
<file>Icons/url.png</file>
|
||||
<file>Icons/loading.png</file>
|
||||
<file>Icons/3-state-checkbox.gif</file>
|
||||
<file>Icons/sphere.png</file>
|
||||
<file>Icons/slow_off.png</file>
|
||||
<file>Icons/sphere2.png</file>
|
||||
<file>Icons/L.gif</file>
|
||||
<file>Icons/loading.png</file>
|
||||
<file>Icons/magnet.png</file>
|
||||
<file>Icons/slow.png</file>
|
||||
<file>Icons/L.gif</file>
|
||||
<file>Icons/skin/qbittorrent_mono_light.png</file>
|
||||
<file>Icons/skin/seeding.png</file>
|
||||
<file>Icons/skin/splash.png</file>
|
||||
<file>Icons/skin/tabs.gif</file>
|
||||
<file>Icons/skin/qbittorrent16.png</file>
|
||||
<file>Icons/skin/connected.png</file>
|
||||
<file>Icons/skin/qbittorrent22.png</file>
|
||||
<file>Icons/skin/disconnected.png</file>
|
||||
<file>Icons/skin/mascot.png</file>
|
||||
<file>Icons/skin/paused.png</file>
|
||||
<file>Icons/skin/slider-area.gif</file>
|
||||
<file>Icons/skin/stalledDL.png</file>
|
||||
<file>Icons/skin/error.png</file>
|
||||
<file>Icons/skin/qbittorrent_mono_dark.png</file>
|
||||
<file>Icons/skin/handle-icon-horizontal.gif</file>
|
||||
<file>Icons/skin/qbittorrent32.png</file>
|
||||
<file>Icons/skin/knob.gif</file>
|
||||
<file>Icons/skin/filterall.png</file>
|
||||
<file>Icons/skin/uploading.png</file>
|
||||
<file>Icons/skin/queued.png</file>
|
||||
<file>Icons/skin/checking.png</file>
|
||||
<file>Icons/skin/handle-icon.gif</file>
|
||||
<file>Icons/skin/arrow-right.gif</file>
|
||||
<file>Icons/skin/filterinactive.png</file>
|
||||
<file>Icons/skin/firewalled.png</file>
|
||||
<file>Icons/skin/downloading.png</file>
|
||||
<file>Icons/skin/toolbox-divider.gif</file>
|
||||
<file>Icons/skin/stalledUP.png</file>
|
||||
<file>Icons/skin/filteractive.png</file>
|
||||
<file>Icons/skin/bg-handle-horizontal.gif</file>
|
||||
<file>Icons/skin/download.png</file>
|
||||
<file>Icons/skin/ratio.png</file>
|
||||
<file>Icons/flags/sm.png</file>
|
||||
<file>Icons/flags/lt.png</file>
|
||||
<file>Icons/flags/th.png</file>
|
||||
<file>Icons/flags/sd.png</file>
|
||||
<file>Icons/flags/mr.png</file>
|
||||
<file>Icons/flags/by.png</file>
|
||||
<file>Icons/flags/sc.png</file>
|
||||
<file>Icons/flags/mz.png</file>
|
||||
<file>Icons/flags/tt.png</file>
|
||||
<file>Icons/flags/kp.png</file>
|
||||
<file>Icons/flags/re.png</file>
|
||||
<file>Icons/flags/um.png</file>
|
||||
<file>Icons/flags/ec.png</file>
|
||||
<file>Icons/flags/fk.png</file>
|
||||
<file>Icons/flags/aw.png</file>
|
||||
<file>Icons/flags/lb.png</file>
|
||||
<file>Icons/flags/vg.png</file>
|
||||
<file>Icons/flags/do.png</file>
|
||||
<file>Icons/flags/ee.png</file>
|
||||
<file>Icons/flags/ck.png</file>
|
||||
<file>Icons/flags/gn.png</file>
|
||||
<file>Icons/flags/cg.png</file>
|
||||
<file>Icons/flags/ao.png</file>
|
||||
<file>Icons/flags/dk.png</file>
|
||||
<file>Icons/flags/ms.png</file>
|
||||
<file>Icons/flags/sg.png</file>
|
||||
<file>Icons/flags/bw.png</file>
|
||||
<file>Icons/flags/br.png</file>
|
||||
<file>Icons/flags/cn.png</file>
|
||||
<file>Icons/flags/ua.png</file>
|
||||
<file>Icons/flags/ae.png</file>
|
||||
<file>Icons/flags/tg.png</file>
|
||||
<file>Icons/flags/ge.png</file>
|
||||
<file>Icons/flags/ne.png</file>
|
||||
<file>Icons/flags/km.png</file>
|
||||
<file>Icons/flags/bf.png</file>
|
||||
<file>Icons/flags/nf.png</file>
|
||||
<file>Icons/flags/az.png</file>
|
||||
<file>Icons/flags/sl.png</file>
|
||||
<file>Icons/flags/md.png</file>
|
||||
<file>Icons/flags/ph.png</file>
|
||||
<file>Icons/flags/mc.png</file>
|
||||
<file>Icons/flags/mq.png</file>
|
||||
<file>Icons/flags/ng.png</file>
|
||||
<file>Icons/flags/vu.png</file>
|
||||
<file>Icons/flags/et.png</file>
|
||||
<file>Icons/flags/bj.png</file>
|
||||
<file>Icons/flags/nl.png</file>
|
||||
<file>Icons/slow_off.png</file>
|
||||
<file>Icons/sphere.png</file>
|
||||
<file>Icons/sphere2.png</file>
|
||||
<file>Icons/url.png</file>
|
||||
<file>Icons/flags/ad.png</file>
|
||||
<file>Icons/flags/tv.png</file>
|
||||
<file>Icons/flags/fj.png</file>
|
||||
<file>Icons/flags/to.png</file>
|
||||
<file>Icons/flags/ru.png</file>
|
||||
<file>Icons/flags/jp.png</file>
|
||||
<file>Icons/flags/ma.png</file>
|
||||
<file>Icons/flags/bz.png</file>
|
||||
<file>Icons/flags/vn.png</file>
|
||||
<file>Icons/flags/bt.png</file>
|
||||
<file>Icons/flags/ht.png</file>
|
||||
<file>Icons/flags/kw.png</file>
|
||||
<file>Icons/flags/tr.png</file>
|
||||
<file>Icons/flags/sy.png</file>
|
||||
<file>Icons/flags/nr.png</file>
|
||||
<file>Icons/flags/nz.png</file>
|
||||
<file>Icons/flags/np.png</file>
|
||||
<file>Icons/flags/uz.png</file>
|
||||
<file>Icons/flags/in.png</file>
|
||||
<file>Icons/flags/ga.png</file>
|
||||
<file>Icons/flags/sa.png</file>
|
||||
<file>Icons/flags/tl.png</file>
|
||||
<file>Icons/flags/ly.png</file>
|
||||
<file>Icons/flags/lr.png</file>
|
||||
<file>Icons/flags/cz.png</file>
|
||||
<file>Icons/flags/bm.png</file>
|
||||
<file>Icons/flags/us.png</file>
|
||||
<file>Icons/flags/ye.png</file>
|
||||
<file>Icons/flags/gs.png</file>
|
||||
<file>Icons/flags/sb.png</file>
|
||||
<file>Icons/flags/hm.png</file>
|
||||
<file>Icons/flags/ke.png</file>
|
||||
<file>Icons/flags/so.png</file>
|
||||
<file>Icons/flags/ni.png</file>
|
||||
<file>Icons/flags/cm.png</file>
|
||||
<file>Icons/flags/li.png</file>
|
||||
<file>Icons/flags/gp.png</file>
|
||||
<file>Icons/flags/co.png</file>
|
||||
<file>Icons/flags/kz.png</file>
|
||||
<file>Icons/flags/de.png</file>
|
||||
<file>Icons/flags/mm.png</file>
|
||||
<file>Icons/flags/gb.png</file>
|
||||
<file>Icons/flags/mx.png</file>
|
||||
<file>Icons/flags/la.png</file>
|
||||
<file>Icons/flags/ae.png</file>
|
||||
<file>Icons/flags/af.png</file>
|
||||
<file>Icons/flags/ag.png</file>
|
||||
<file>Icons/flags/ai.png</file>
|
||||
<file>Icons/flags/al.png</file>
|
||||
<file>Icons/flags/am.png</file>
|
||||
<file>Icons/flags/an.png</file>
|
||||
<file>Icons/flags/ao.png</file>
|
||||
<file>Icons/flags/ar.png</file>
|
||||
<file>Icons/flags/as.png</file>
|
||||
<file>Icons/flags/at.png</file>
|
||||
<file>Icons/flags/au.png</file>
|
||||
<file>Icons/flags/aw.png</file>
|
||||
<file>Icons/flags/ax.png</file>
|
||||
<file>Icons/flags/az.png</file>
|
||||
<file>Icons/flags/ba.png</file>
|
||||
<file>Icons/flags/bb.png</file>
|
||||
<file>Icons/flags/bd.png</file>
|
||||
<file>Icons/flags/be.png</file>
|
||||
<file>Icons/flags/bf.png</file>
|
||||
<file>Icons/flags/bg.png</file>
|
||||
<file>Icons/flags/bh.png</file>
|
||||
<file>Icons/flags/bi.png</file>
|
||||
<file>Icons/flags/bj.png</file>
|
||||
<file>Icons/flags/bm.png</file>
|
||||
<file>Icons/flags/bn.png</file>
|
||||
<file>Icons/flags/bo.png</file>
|
||||
<file>Icons/flags/br.png</file>
|
||||
<file>Icons/flags/bs.png</file>
|
||||
<file>Icons/flags/bt.png</file>
|
||||
<file>Icons/flags/bv.png</file>
|
||||
<file>Icons/flags/bw.png</file>
|
||||
<file>Icons/flags/by.png</file>
|
||||
<file>Icons/flags/bz.png</file>
|
||||
<file>Icons/flags/ca.png</file>
|
||||
<file>Icons/flags/cc.png</file>
|
||||
<file>Icons/flags/cd.png</file>
|
||||
<file>Icons/flags/cf.png</file>
|
||||
<file>Icons/flags/cg.png</file>
|
||||
<file>Icons/flags/ch.png</file>
|
||||
<file>Icons/flags/ci.png</file>
|
||||
<file>Icons/flags/ck.png</file>
|
||||
<file>Icons/flags/cl.png</file>
|
||||
<file>Icons/flags/cm.png</file>
|
||||
<file>Icons/flags/cn.png</file>
|
||||
<file>Icons/flags/co.png</file>
|
||||
<file>Icons/flags/cr.png</file>
|
||||
<file>Icons/flags/cs.png</file>
|
||||
<file>Icons/flags/cu.png</file>
|
||||
<file>Icons/flags/cv.png</file>
|
||||
<file>Icons/flags/cx.png</file>
|
||||
<file>Icons/flags/cy.png</file>
|
||||
<file>Icons/flags/cz.png</file>
|
||||
<file>Icons/flags/de.png</file>
|
||||
<file>Icons/flags/dj.png</file>
|
||||
<file>Icons/flags/dk.png</file>
|
||||
<file>Icons/flags/dm.png</file>
|
||||
<file>Icons/flags/do.png</file>
|
||||
<file>Icons/flags/dz.png</file>
|
||||
<file>Icons/flags/ec.png</file>
|
||||
<file>Icons/flags/ee.png</file>
|
||||
<file>Icons/flags/eg.png</file>
|
||||
<file>Icons/flags/eh.png</file>
|
||||
<file>Icons/flags/er.png</file>
|
||||
<file>Icons/flags/es.png</file>
|
||||
<file>Icons/flags/et.png</file>
|
||||
<file>Icons/flags/fi.png</file>
|
||||
<file>Icons/flags/fj.png</file>
|
||||
<file>Icons/flags/fk.png</file>
|
||||
<file>Icons/flags/fm.png</file>
|
||||
<file>Icons/flags/fo.png</file>
|
||||
<file>Icons/flags/fr.png</file>
|
||||
<file>Icons/flags/ga.png</file>
|
||||
<file>Icons/flags/gb.png</file>
|
||||
<file>Icons/flags/gd.png</file>
|
||||
<file>Icons/flags/ge.png</file>
|
||||
<file>Icons/flags/gf.png</file>
|
||||
<file>Icons/flags/gh.png</file>
|
||||
<file>Icons/flags/gi.png</file>
|
||||
<file>Icons/flags/gl.png</file>
|
||||
<file>Icons/flags/gm.png</file>
|
||||
<file>Icons/flags/gn.png</file>
|
||||
<file>Icons/flags/gp.png</file>
|
||||
<file>Icons/flags/gq.png</file>
|
||||
<file>Icons/flags/gr.png</file>
|
||||
<file>Icons/flags/gs.png</file>
|
||||
<file>Icons/flags/gt.png</file>
|
||||
<file>Icons/flags/gu.png</file>
|
||||
<file>Icons/flags/gw.png</file>
|
||||
<file>Icons/flags/lc.png</file>
|
||||
<file>Icons/flags/st.png</file>
|
||||
<file>Icons/flags/nc.png</file>
|
||||
<file>Icons/flags/ch.png</file>
|
||||
<file>Icons/flags/cd.png</file>
|
||||
<file>Icons/flags/mh.png</file>
|
||||
<file>Icons/flags/pg.png</file>
|
||||
<file>Icons/flags/bh.png</file>
|
||||
<file>Icons/flags/kr.png</file>
|
||||
<file>Icons/flags/is.png</file>
|
||||
<file>Icons/flags/gh.png</file>
|
||||
<file>Icons/flags/mp.png</file>
|
||||
<file>Icons/flags/ca.png</file>
|
||||
<file>Icons/flags/bi.png</file>
|
||||
<file>Icons/flags/yt.png</file>
|
||||
<file>Icons/flags/it.png</file>
|
||||
<file>Icons/flags/kn.png</file>
|
||||
<file>Icons/flags/ve.png</file>
|
||||
<file>Icons/flags/cu.png</file>
|
||||
<file>Icons/flags/bs.png</file>
|
||||
<file>Icons/flags/rs.png</file>
|
||||
<file>Icons/flags/tw.png</file>
|
||||
<file>Icons/flags/bd.png</file>
|
||||
<file>Icons/flags/pr.png</file>
|
||||
<file>Icons/flags/lk.png</file>
|
||||
<file>Icons/flags/sn.png</file>
|
||||
<file>Icons/flags/gr.png</file>
|
||||
<file>Icons/flags/gm.png</file>
|
||||
<file>Icons/flags/na.png</file>
|
||||
<file>Icons/flags/om.png</file>
|
||||
<file>Icons/flags/tz.png</file>
|
||||
<file>Icons/flags/as.png</file>
|
||||
<file>Icons/flags/no.png</file>
|
||||
<file>Icons/flags/mv.png</file>
|
||||
<file>Icons/flags/ki.png</file>
|
||||
<file>Icons/flags/eg.png</file>
|
||||
<file>Icons/flags/tj.png</file>
|
||||
<file>Icons/flags/sj.png</file>
|
||||
<file>Icons/flags/fi.png</file>
|
||||
<file>Icons/flags/lv.png</file>
|
||||
<file>Icons/flags/cx.png</file>
|
||||
<file>Icons/flags/ci.png</file>
|
||||
<file>Icons/flags/vi.png</file>
|
||||
<file>Icons/flags/be.png</file>
|
||||
<file>Icons/flags/mw.png</file>
|
||||
<file>Icons/flags/zw.png</file>
|
||||
<file>Icons/flags/si.png</file>
|
||||
<file>Icons/flags/dm.png</file>
|
||||
<file>Icons/flags/jo.png</file>
|
||||
<file>Icons/flags/hk.png</file>
|
||||
<file>Icons/flags/me.png</file>
|
||||
<file>Icons/flags/va.png</file>
|
||||
<file>Icons/flags/pm.png</file>
|
||||
<file>Icons/flags/qa.png</file>
|
||||
<file>Icons/flags/cc.png</file>
|
||||
<file>Icons/flags/kh.png</file>
|
||||
<file>Icons/flags/id.png</file>
|
||||
<file>Icons/flags/ai.png</file>
|
||||
<file>Icons/flags/mn.png</file>
|
||||
<file>Icons/flags/gd.png</file>
|
||||
<file>Icons/flags/mt.png</file>
|
||||
<file>Icons/flags/gq.png</file>
|
||||
<file>Icons/flags/hr.png</file>
|
||||
<file>Icons/flags/sv.png</file>
|
||||
<file>Icons/flags/dz.png</file>
|
||||
<file>Icons/flags/kg.png</file>
|
||||
<file>Icons/flags/gy.png</file>
|
||||
<file>Icons/flags/bv.png</file>
|
||||
<file>Icons/flags/ag.png</file>
|
||||
<file>Icons/flags/hk.png</file>
|
||||
<file>Icons/flags/hm.png</file>
|
||||
<file>Icons/flags/hn.png</file>
|
||||
<file>Icons/flags/ml.png</file>
|
||||
<file>Icons/flags/fo.png</file>
|
||||
<file>Icons/flags/pw.png</file>
|
||||
<file>Icons/flags/mg.png</file>
|
||||
<file>Icons/flags/iq.png</file>
|
||||
<file>Icons/flags/jm.png</file>
|
||||
<file>Icons/flags/bo.png</file>
|
||||
<file>Icons/flags/sk.png</file>
|
||||
<file>Icons/flags/sh.png</file>
|
||||
<file>Icons/flags/tf.png</file>
|
||||
<file>Icons/flags/mk.png</file>
|
||||
<file>Icons/flags/my.png</file>
|
||||
<file>Icons/flags/es.png</file>
|
||||
<file>Icons/flags/py.png</file>
|
||||
<file>Icons/flags/ax.png</file>
|
||||
<file>Icons/flags/ls.png</file>
|
||||
<file>Icons/flags/tn.png</file>
|
||||
<file>Icons/flags/ps.png</file>
|
||||
<file>Icons/flags/bn.png</file>
|
||||
<file>Icons/flags/dj.png</file>
|
||||
<file>Icons/flags/cs.png</file>
|
||||
<file>Icons/flags/pl.png</file>
|
||||
<file>Icons/flags/cl.png</file>
|
||||
<file>Icons/flags/pf.png</file>
|
||||
<file>Icons/flags/gi.png</file>
|
||||
<file>Icons/flags/bb.png</file>
|
||||
<file>Icons/flags/ws.png</file>
|
||||
<file>Icons/flags/cy.png</file>
|
||||
<file>Icons/flags/pt.png</file>
|
||||
<file>Icons/flags/ba.png</file>
|
||||
<file>Icons/flags/gl.png</file>
|
||||
<file>Icons/flags/ie.png</file>
|
||||
<file>Icons/flags/fr.png</file>
|
||||
<file>Icons/flags/tm.png</file>
|
||||
<file>Icons/flags/er.png</file>
|
||||
<file>Icons/flags/cr.png</file>
|
||||
<file>Icons/flags/af.png</file>
|
||||
<file>Icons/flags/mu.png</file>
|
||||
<file>Icons/flags/lu.png</file>
|
||||
<file>Icons/flags/pk.png</file>
|
||||
<file>Icons/flags/am.png</file>
|
||||
<file>Icons/flags/ar.png</file>
|
||||
<file>Icons/flags/uy.png</file>
|
||||
<file>Icons/flags/hr.png</file>
|
||||
<file>Icons/flags/ht.png</file>
|
||||
<file>Icons/flags/hu.png</file>
|
||||
<file>Icons/flags/pn.png</file>
|
||||
<file>Icons/flags/gf.png</file>
|
||||
<file>Icons/flags/ir.png</file>
|
||||
<file>Icons/flags/pe.png</file>
|
||||
<file>Icons/flags/nu.png</file>
|
||||
<file>Icons/flags/ro.png</file>
|
||||
<file>Icons/flags/mo.png</file>
|
||||
<file>Icons/flags/za.png</file>
|
||||
<file>Icons/flags/ky.png</file>
|
||||
<file>Icons/flags/zm.png</file>
|
||||
<file>Icons/flags/se.png</file>
|
||||
<file>Icons/flags/id.png</file>
|
||||
<file>Icons/flags/ie.png</file>
|
||||
<file>Icons/flags/il.png</file>
|
||||
<file>Icons/flags/fm.png</file>
|
||||
<file>Icons/flags/sr.png</file>
|
||||
<file>Icons/flags/pa.png</file>
|
||||
<file>Icons/flags/cv.png</file>
|
||||
<file>Icons/flags/tc.png</file>
|
||||
<file>Icons/flags/an.png</file>
|
||||
<file>Icons/flags/sz.png</file>
|
||||
<file>Icons/flags/in.png</file>
|
||||
<file>Icons/flags/io.png</file>
|
||||
<file>Icons/flags/iq.png</file>
|
||||
<file>Icons/flags/ir.png</file>
|
||||
<file>Icons/flags/is.png</file>
|
||||
<file>Icons/flags/it.png</file>
|
||||
<file>Icons/flags/jm.png</file>
|
||||
<file>Icons/flags/jo.png</file>
|
||||
<file>Icons/flags/jp.png</file>
|
||||
<file>Icons/flags/ke.png</file>
|
||||
<file>Icons/flags/kg.png</file>
|
||||
<file>Icons/flags/kh.png</file>
|
||||
<file>Icons/flags/ki.png</file>
|
||||
<file>Icons/flags/km.png</file>
|
||||
<file>Icons/flags/kn.png</file>
|
||||
<file>Icons/flags/kp.png</file>
|
||||
<file>Icons/flags/kr.png</file>
|
||||
<file>Icons/flags/kw.png</file>
|
||||
<file>Icons/flags/ky.png</file>
|
||||
<file>Icons/flags/kz.png</file>
|
||||
<file>Icons/flags/la.png</file>
|
||||
<file>Icons/flags/lb.png</file>
|
||||
<file>Icons/flags/lc.png</file>
|
||||
<file>Icons/flags/li.png</file>
|
||||
<file>Icons/flags/lk.png</file>
|
||||
<file>Icons/flags/lr.png</file>
|
||||
<file>Icons/flags/ls.png</file>
|
||||
<file>Icons/flags/lt.png</file>
|
||||
<file>Icons/flags/lu.png</file>
|
||||
<file>Icons/flags/lv.png</file>
|
||||
<file>Icons/flags/ly.png</file>
|
||||
<file>Icons/flags/ma.png</file>
|
||||
<file>Icons/flags/mc.png</file>
|
||||
<file>Icons/flags/md.png</file>
|
||||
<file>Icons/flags/me.png</file>
|
||||
<file>Icons/flags/mg.png</file>
|
||||
<file>Icons/flags/mh.png</file>
|
||||
<file>Icons/flags/mk.png</file>
|
||||
<file>Icons/flags/ml.png</file>
|
||||
<file>Icons/flags/mm.png</file>
|
||||
<file>Icons/flags/mn.png</file>
|
||||
<file>Icons/flags/mo.png</file>
|
||||
<file>Icons/flags/mp.png</file>
|
||||
<file>Icons/flags/mq.png</file>
|
||||
<file>Icons/flags/mr.png</file>
|
||||
<file>Icons/flags/ms.png</file>
|
||||
<file>Icons/flags/mt.png</file>
|
||||
<file>Icons/flags/mu.png</file>
|
||||
<file>Icons/flags/mv.png</file>
|
||||
<file>Icons/flags/mw.png</file>
|
||||
<file>Icons/flags/mx.png</file>
|
||||
<file>Icons/flags/my.png</file>
|
||||
<file>Icons/flags/mz.png</file>
|
||||
<file>Icons/flags/na.png</file>
|
||||
<file>Icons/flags/nc.png</file>
|
||||
<file>Icons/flags/ne.png</file>
|
||||
<file>Icons/flags/nf.png</file>
|
||||
<file>Icons/flags/ng.png</file>
|
||||
<file>Icons/flags/ni.png</file>
|
||||
<file>Icons/flags/nl.png</file>
|
||||
<file>Icons/flags/no.png</file>
|
||||
<file>Icons/flags/np.png</file>
|
||||
<file>Icons/flags/nr.png</file>
|
||||
<file>Icons/flags/nu.png</file>
|
||||
<file>Icons/flags/nz.png</file>
|
||||
<file>Icons/flags/om.png</file>
|
||||
<file>Icons/flags/pa.png</file>
|
||||
<file>Icons/flags/pe.png</file>
|
||||
<file>Icons/flags/pf.png</file>
|
||||
<file>Icons/flags/pg.png</file>
|
||||
<file>Icons/flags/ph.png</file>
|
||||
<file>Icons/flags/pk.png</file>
|
||||
<file>Icons/flags/pl.png</file>
|
||||
<file>Icons/flags/pm.png</file>
|
||||
<file>Icons/flags/pn.png</file>
|
||||
<file>Icons/flags/pr.png</file>
|
||||
<file>Icons/flags/ps.png</file>
|
||||
<file>Icons/flags/pt.png</file>
|
||||
<file>Icons/flags/pw.png</file>
|
||||
<file>Icons/flags/py.png</file>
|
||||
<file>Icons/flags/qa.png</file>
|
||||
<file>Icons/flags/re.png</file>
|
||||
<file>Icons/flags/ro.png</file>
|
||||
<file>Icons/flags/rs.png</file>
|
||||
<file>Icons/flags/ru.png</file>
|
||||
<file>Icons/flags/rw.png</file>
|
||||
<file>Icons/flags/eh.png</file>
|
||||
<file>Icons/flags/cf.png</file>
|
||||
<file>Icons/flags/gt.png</file>
|
||||
<file>Icons/flags/al.png</file>
|
||||
<file>Icons/flags/ug.png</file>
|
||||
<file>Icons/flags/sa.png</file>
|
||||
<file>Icons/flags/sb.png</file>
|
||||
<file>Icons/flags/sc.png</file>
|
||||
<file>Icons/flags/sd.png</file>
|
||||
<file>Icons/flags/se.png</file>
|
||||
<file>Icons/flags/sg.png</file>
|
||||
<file>Icons/flags/sh.png</file>
|
||||
<file>Icons/flags/si.png</file>
|
||||
<file>Icons/flags/sj.png</file>
|
||||
<file>Icons/flags/sk.png</file>
|
||||
<file>Icons/flags/sl.png</file>
|
||||
<file>Icons/flags/sm.png</file>
|
||||
<file>Icons/flags/sn.png</file>
|
||||
<file>Icons/flags/so.png</file>
|
||||
<file>Icons/flags/sr.png</file>
|
||||
<file>Icons/flags/st.png</file>
|
||||
<file>Icons/flags/sv.png</file>
|
||||
<file>Icons/flags/sy.png</file>
|
||||
<file>Icons/flags/sz.png</file>
|
||||
<file>Icons/flags/tc.png</file>
|
||||
<file>Icons/flags/td.png</file>
|
||||
<file>Icons/flags/at.png</file>
|
||||
<file>Icons/flags/vc.png</file>
|
||||
<file>Icons/flags/tf.png</file>
|
||||
<file>Icons/flags/tg.png</file>
|
||||
<file>Icons/flags/th.png</file>
|
||||
<file>Icons/flags/tj.png</file>
|
||||
<file>Icons/flags/tk.png</file>
|
||||
<file>Icons/flags/bg.png</file>
|
||||
<file>Icons/flags/tl.png</file>
|
||||
<file>Icons/flags/tm.png</file>
|
||||
<file>Icons/flags/tn.png</file>
|
||||
<file>Icons/flags/to.png</file>
|
||||
<file>Icons/flags/tr.png</file>
|
||||
<file>Icons/flags/tt.png</file>
|
||||
<file>Icons/flags/tv.png</file>
|
||||
<file>Icons/flags/tw.png</file>
|
||||
<file>Icons/flags/tz.png</file>
|
||||
<file>Icons/flags/ua.png</file>
|
||||
<file>Icons/flags/ug.png</file>
|
||||
<file>Icons/flags/um.png</file>
|
||||
<file>Icons/flags/us.png</file>
|
||||
<file>Icons/flags/uy.png</file>
|
||||
<file>Icons/flags/uz.png</file>
|
||||
<file>Icons/flags/va.png</file>
|
||||
<file>Icons/flags/vc.png</file>
|
||||
<file>Icons/flags/ve.png</file>
|
||||
<file>Icons/flags/vg.png</file>
|
||||
<file>Icons/flags/vi.png</file>
|
||||
<file>Icons/flags/vn.png</file>
|
||||
<file>Icons/flags/vu.png</file>
|
||||
<file>Icons/flags/wf.png</file>
|
||||
<file>Icons/oxygen/preferences-system.png</file>
|
||||
<file>Icons/oxygen/unavailable.png</file>
|
||||
<file>Icons/oxygen/document-edit-verify.png</file>
|
||||
<file>Icons/oxygen/list-remove.png</file>
|
||||
<file>Icons/oxygen/dialog-warning.png</file>
|
||||
<file>Icons/oxygen/mail-folder-inbox.png</file>
|
||||
<file>Icons/oxygen/edit-clear-history.png</file>
|
||||
<file>Icons/oxygen/edit-copy.png</file>
|
||||
<file>Icons/oxygen/folder-documents.png</file>
|
||||
<file>Icons/oxygen/document-edit.png</file>
|
||||
<file>Icons/oxygen/security-low.png</file>
|
||||
<file>Icons/oxygen/insert-link.png</file>
|
||||
<file>Icons/oxygen/network-wired.png</file>
|
||||
<file>Icons/oxygen/mail-mark-read.png</file>
|
||||
<file>Icons/oxygen/go-up.png</file>
|
||||
<file>Icons/flags/ws.png</file>
|
||||
<file>Icons/flags/ye.png</file>
|
||||
<file>Icons/flags/yt.png</file>
|
||||
<file>Icons/flags/za.png</file>
|
||||
<file>Icons/flags/zm.png</file>
|
||||
<file>Icons/flags/zw.png</file>
|
||||
<file>Icons/oxygen/application-exit.png</file>
|
||||
<file>Icons/oxygen/edit-rename.png</file>
|
||||
<file>Icons/oxygen/edit-cut.png</file>
|
||||
<file>Icons/oxygen/gear32.png</file>
|
||||
<file>Icons/oxygen/media-playback-start.png</file>
|
||||
<file>Icons/oxygen/user-group-delete.png</file>
|
||||
<file>Icons/oxygen/edit-find-user.png</file>
|
||||
<file>Icons/oxygen/media-playback-pause.png</file>
|
||||
<file>Icons/oxygen/tab-close.png</file>
|
||||
<file>Icons/oxygen/inode-directory.png</file>
|
||||
<file>Icons/oxygen/tools-report-bug.png</file>
|
||||
<file>Icons/oxygen/view-filter.png</file>
|
||||
<file>Icons/oxygen/services.png</file>
|
||||
<file>Icons/oxygen/view-preview.png</file>
|
||||
<file>Icons/oxygen/view-refresh.png</file>
|
||||
<file>Icons/oxygen/text-plain.png</file>
|
||||
<file>Icons/oxygen/edit-delete.png</file>
|
||||
<file>Icons/oxygen/application-rss+xml.png</file>
|
||||
<file>Icons/oxygen/application-x-mswinurl.png</file>
|
||||
<file>Icons/oxygen/chronometer.png</file>
|
||||
<file>Icons/oxygen/dialog-cancel.png</file>
|
||||
<file>Icons/oxygen/task-attention.png</file>
|
||||
<file>Icons/oxygen/preferences-system-network.png</file>
|
||||
<file>Icons/oxygen/document-properties.png</file>
|
||||
<file>Icons/oxygen/user-group-new.png</file>
|
||||
<file>Icons/oxygen/security-high.png</file>
|
||||
<file>Icons/oxygen/network-server.png</file>
|
||||
<file>Icons/oxygen/wallet-open.png</file>
|
||||
<file>Icons/oxygen/preferences-web-browser-cookies.png</file>
|
||||
<file>Icons/oxygen/list-add.png</file>
|
||||
<file>Icons/oxygen/edit-paste.png</file>
|
||||
<file>Icons/oxygen/folder-remote.png</file>
|
||||
<file>Icons/oxygen/help-about.png</file>
|
||||
<file>Icons/oxygen/document-save.png</file>
|
||||
<file>Icons/oxygen/gear.png</file>
|
||||
<file>Icons/oxygen/view-categories.png</file>
|
||||
<file>Icons/oxygen/document-new.png</file>
|
||||
<file>Icons/oxygen/dialog-information.png</file>
|
||||
<file>Icons/oxygen/preferences-other.png</file>
|
||||
<file>Icons/oxygen/object-locked.png</file>
|
||||
<file>Icons/oxygen/view-calendar-journal.png</file>
|
||||
<file>Icons/oxygen/application-rss+xml.png</file>
|
||||
<file>Icons/oxygen/dialog-warning.png</file>
|
||||
<file>Icons/oxygen/document-edit-verify.png</file>
|
||||
<file>Icons/oxygen/document-edit.png</file>
|
||||
<file>Icons/oxygen/document-encrypt.png</file>
|
||||
<file>Icons/oxygen/help-contents.png</file>
|
||||
<file>Icons/oxygen/preferences-desktop.png</file>
|
||||
<file>Icons/oxygen/application-x-mswinurl.png</file>
|
||||
<file>Icons/oxygen/go-down.png</file>
|
||||
<file>Icons/oxygen/document-import.png</file>
|
||||
<file>Icons/oxygen/document-new.png</file>
|
||||
<file>Icons/oxygen/document-properties.png</file>
|
||||
<file>Icons/oxygen/document-save.png</file>
|
||||
<file>Icons/oxygen/download.png</file>
|
||||
<file>Icons/oxygen/edit-find.png</file>
|
||||
<file>Icons/oxygen/edit-clear-history.png</file>
|
||||
<file>Icons/oxygen/edit-clear.png</file>
|
||||
<file>Icons/oxygen/webui.png</file>
|
||||
<file>Icons/oxygen/edit-copy.png</file>
|
||||
<file>Icons/oxygen/edit-cut.png</file>
|
||||
<file>Icons/oxygen/edit-delete.png</file>
|
||||
<file>Icons/oxygen/edit-find-user.png</file>
|
||||
<file>Icons/oxygen/edit-find.png</file>
|
||||
<file>Icons/oxygen/edit-paste.png</file>
|
||||
<file>Icons/oxygen/edit-rename.png</file>
|
||||
<file>Icons/oxygen/folder-documents.png</file>
|
||||
<file>Icons/oxygen/folder-new.png</file>
|
||||
<file>Icons/oxygen/folder-remote.png</file>
|
||||
<file>Icons/oxygen/gear.png</file>
|
||||
<file>Icons/oxygen/gear32.png</file>
|
||||
<file>Icons/oxygen/go-down.png</file>
|
||||
<file>Icons/oxygen/go-up.png</file>
|
||||
<file>Icons/oxygen/help-about.png</file>
|
||||
<file>Icons/oxygen/help-contents.png</file>
|
||||
<file>Icons/oxygen/inode-directory.png</file>
|
||||
<file>Icons/oxygen/insert-link.png</file>
|
||||
<file>Icons/oxygen/list-add.png</file>
|
||||
<file>Icons/oxygen/list-remove.png</file>
|
||||
<file>Icons/oxygen/mail-folder-inbox.png</file>
|
||||
<file>Icons/oxygen/mail-mark-read.png</file>
|
||||
<file>Icons/oxygen/media-playback-pause.png</file>
|
||||
<file>Icons/oxygen/media-playback-start.png</file>
|
||||
<file>Icons/oxygen/network-server.png</file>
|
||||
<file>Icons/oxygen/network-wired.png</file>
|
||||
<file>Icons/oxygen/object-locked.png</file>
|
||||
<file>Icons/oxygen/preferences-desktop.png</file>
|
||||
<file>Icons/oxygen/preferences-other.png</file>
|
||||
<file>Icons/oxygen/preferences-system-network.png</file>
|
||||
<file>Icons/oxygen/preferences-system.png</file>
|
||||
<file>Icons/oxygen/preferences-web-browser-cookies.png</file>
|
||||
<file>Icons/oxygen/security-high.png</file>
|
||||
<file>Icons/oxygen/security-low.png</file>
|
||||
<file>Icons/oxygen/services.png</file>
|
||||
<file>Icons/oxygen/tab-close.png</file>
|
||||
<file>Icons/oxygen/task-attention.png</file>
|
||||
<file>Icons/oxygen/text-plain.png</file>
|
||||
<file>Icons/oxygen/tools-report-bug.png</file>
|
||||
<file>Icons/oxygen/unavailable.png</file>
|
||||
<file>Icons/oxygen/user-group-delete.png</file>
|
||||
<file>Icons/oxygen/user-group-new.png</file>
|
||||
<file>Icons/oxygen/view-calendar-journal.png</file>
|
||||
<file>Icons/oxygen/view-categories.png</file>
|
||||
<file>Icons/oxygen/view-filter.png</file>
|
||||
<file>Icons/oxygen/view-preview.png</file>
|
||||
<file>Icons/oxygen/view-refresh.png</file>
|
||||
<file>Icons/oxygen/wallet-open.png</file>
|
||||
<file>Icons/oxygen/webui.png</file>
|
||||
<file>Icons/skin/arrow-right.gif</file>
|
||||
<file>Icons/skin/bg-handle-horizontal.gif</file>
|
||||
<file>Icons/skin/checking.png</file>
|
||||
<file>Icons/skin/connected.png</file>
|
||||
<file>Icons/skin/disconnected.png</file>
|
||||
<file>Icons/skin/download.png</file>
|
||||
<file>Icons/skin/downloading.png</file>
|
||||
<file>Icons/skin/error.png</file>
|
||||
<file>Icons/skin/filteractive.png</file>
|
||||
<file>Icons/skin/filterall.png</file>
|
||||
<file>Icons/skin/filterinactive.png</file>
|
||||
<file>Icons/skin/firewalled.png</file>
|
||||
<file>Icons/skin/handle-icon-horizontal.gif</file>
|
||||
<file>Icons/skin/handle-icon.gif</file>
|
||||
<file>Icons/skin/knob.gif</file>
|
||||
<file>Icons/skin/mascot.png</file>
|
||||
<file>Icons/skin/paused.png</file>
|
||||
<file>Icons/skin/qbittorrent16.png</file>
|
||||
<file>Icons/skin/qbittorrent22.png</file>
|
||||
<file>Icons/skin/qbittorrent32.png</file>
|
||||
<file>Icons/skin/qbittorrent_mono_dark.png</file>
|
||||
<file>Icons/skin/qbittorrent_mono_light.png</file>
|
||||
<file>Icons/skin/queued.png</file>
|
||||
<file>Icons/skin/ratio.png</file>
|
||||
<file>Icons/skin/seeding.png</file>
|
||||
<file>Icons/skin/slider-area.gif</file>
|
||||
<file>Icons/skin/splash.png</file>
|
||||
<file>Icons/skin/stalledDL.png</file>
|
||||
<file>Icons/skin/stalledUP.png</file>
|
||||
<file>Icons/skin/tabs.gif</file>
|
||||
<file>Icons/skin/toolbox-divider.gif</file>
|
||||
<file>Icons/skin/uploading.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
68
src/lang.qrc
68
src/lang.qrc
@@ -1,41 +1,41 @@
|
||||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource>
|
||||
<file>lang/qbittorrent_nl.qm</file>
|
||||
<file>lang/qbittorrent_hu.qm</file>
|
||||
<file>lang/qbittorrent_ru.qm</file>
|
||||
<file>lang/qbittorrent_zh_TW.qm</file>
|
||||
<file>lang/qbittorrent_tr.qm</file>
|
||||
<file>lang/qbittorrent_fi.qm</file>
|
||||
<file>lang/qbittorrent_sk.qm</file>
|
||||
<file>lang/qbittorrent_ja.qm</file>
|
||||
<file>lang/qbittorrent_el.qm</file>
|
||||
<file>lang/qbittorrent_ar.qm</file>
|
||||
<file>lang/qbittorrent_be.qm</file>
|
||||
<file>lang/qbittorrent_bg.qm</file>
|
||||
<file>lang/qbittorrent_ca.qm</file>
|
||||
<file>lang/qbittorrent_pt.qm</file>
|
||||
<file>lang/qbittorrent_it.qm</file>
|
||||
<file>lang/qbittorrent_cs.qm</file>
|
||||
<file>lang/qbittorrent_da.qm</file>
|
||||
<file>lang/qbittorrent_de.qm</file>
|
||||
<file>lang/qbittorrent_el.qm</file>
|
||||
<file>lang/qbittorrent_en.qm</file>
|
||||
<file>lang/qbittorrent_es.qm</file>
|
||||
<file>lang/qbittorrent_eu.qm</file>
|
||||
<file>lang/qbittorrent_fi.qm</file>
|
||||
<file>lang/qbittorrent_fr.qm</file>
|
||||
<file>lang/qbittorrent_gl.qm</file>
|
||||
<file>lang/qbittorrent_he.qm</file>
|
||||
<file>lang/qbittorrent_hr.qm</file>
|
||||
<file>lang/qbittorrent_hu.qm</file>
|
||||
<file>lang/qbittorrent_hy.qm</file>
|
||||
<file>lang/qbittorrent_it.qm</file>
|
||||
<file>lang/qbittorrent_ja.qm</file>
|
||||
<file>lang/qbittorrent_ka.qm</file>
|
||||
<file>lang/qbittorrent_ko.qm</file>
|
||||
<file>lang/qbittorrent_lt.qm</file>
|
||||
<file>lang/qbittorrent_nb.qm</file>
|
||||
<file>lang/qbittorrent_nl.qm</file>
|
||||
<file>lang/qbittorrent_pl.qm</file>
|
||||
<file>lang/qbittorrent_pt.qm</file>
|
||||
<file>lang/qbittorrent_pt_BR.qm</file>
|
||||
<file>lang/qbittorrent_ro.qm</file>
|
||||
<file>lang/qbittorrent_ru.qm</file>
|
||||
<file>lang/qbittorrent_sk.qm</file>
|
||||
<file>lang/qbittorrent_sr.qm</file>
|
||||
<file>lang/qbittorrent_sv.qm</file>
|
||||
<file>lang/qbittorrent_tr.qm</file>
|
||||
<file>lang/qbittorrent_uk.qm</file>
|
||||
<file>lang/qbittorrent_zh.qm</file>
|
||||
<file>lang/qbittorrent_lt.qm</file>
|
||||
<file>lang/qbittorrent_ko.qm</file>
|
||||
<file>lang/qbittorrent_nb.qm</file>
|
||||
<file>lang/qbittorrent_sv.qm</file>
|
||||
<file>lang/qbittorrent_de.qm</file>
|
||||
<file>lang/qbittorrent_gl.qm</file>
|
||||
<file>lang/qbittorrent_sr.qm</file>
|
||||
<file>lang/qbittorrent_pt_BR.qm</file>
|
||||
<file>lang/qbittorrent_da.qm</file>
|
||||
<file>lang/qbittorrent_cs.qm</file>
|
||||
<file>lang/qbittorrent_hy.qm</file>
|
||||
<file>lang/qbittorrent_pl.qm</file>
|
||||
<file>lang/qbittorrent_bg.qm</file>
|
||||
<file>lang/qbittorrent_ar.qm</file>
|
||||
<file>lang/qbittorrent_es.qm</file>
|
||||
<file>lang/qbittorrent_en.qm</file>
|
||||
<file>lang/qbittorrent_hr.qm</file>
|
||||
<file>lang/qbittorrent_ro.qm</file>
|
||||
<file>lang/qbittorrent_ka.qm</file>
|
||||
<file>lang/qbittorrent_be.qm</file>
|
||||
<file>lang/qbittorrent_eu.qm</file>
|
||||
<file>lang/qbittorrent_he.qm</file>
|
||||
<file>lang/qbittorrent_zh_TW.qm</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
</RCC>
|
||||
@@ -45,7 +45,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>3.0.2</string>
|
||||
<string>3.0.4</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>qBit</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
4
src/mac/qt.conf
Normal file
4
src/mac/qt.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
[Paths]
|
||||
Prefix = MacOS
|
||||
Translations = translations
|
||||
Plugins = PlugIns
|
||||
@@ -1,2 +1,46 @@
|
||||
IDI_ICON1 ICON DISCARDABLE "qbittorrent.ico"
|
||||
IDI_ICON2 ICON DISCARDABLE "qbittorrent_file.ico"
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#define VER_FILEVERSION VERSION_MAJOR,VERSION_MINOR,VERSION_BUGFIX,0
|
||||
#define VER_FILEVERSION_STR VERSION
|
||||
|
||||
#define VER_PRODUCTVERSION VERSION_MAJOR,VERSION_MINOR,VERSION_BUGFIX,0
|
||||
#define VER_PRODUCTVERSION_STR VERSION
|
||||
|
||||
#ifndef DEBUG
|
||||
#define VER_DEBUG 0
|
||||
#else
|
||||
#define VER_DEBUG VS_FF_DEBUG
|
||||
#endif
|
||||
|
||||
1 VERSIONINFO
|
||||
FILEVERSION VER_FILEVERSION
|
||||
PRODUCTVERSION VER_PRODUCTVERSION
|
||||
FILEFLAGSMASK VER_DEBUG
|
||||
FILEFLAGS VER_DEBUG
|
||||
FILEOS VOS__WINDOWS32
|
||||
FILETYPE VFT_APP
|
||||
FILESUBTYPE VFT2_UNKNOWN
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904E4"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Christophe Dumez"
|
||||
VALUE "FileDescription", "qBittorrent - A Bittorrent Client"
|
||||
VALUE "FileVersion", VER_FILEVERSION_STR
|
||||
VALUE "InternalName", "qbittorrent"
|
||||
VALUE "LegalCopyright", "Copyright ©2006-2012 Christophe Dumez"
|
||||
VALUE "OriginalFilename", "qbittorrent.exe"
|
||||
VALUE "ProductName", "qBittorrent"
|
||||
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
|
||||
END
|
||||
END
|
||||
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
BIN
src/qt-translations/qt_ar.qm
Normal file
BIN
src/qt-translations/qt_ar.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_bg.qm
Normal file
BIN
src/qt-translations/qt_bg.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_ca.qm
Normal file
BIN
src/qt-translations/qt_ca.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_cs.qm
Normal file
BIN
src/qt-translations/qt_cs.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_da.qm
Normal file
BIN
src/qt-translations/qt_da.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_de.qm
Normal file
BIN
src/qt-translations/qt_de.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_es.qm
Normal file
BIN
src/qt-translations/qt_es.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_fi.qm
Normal file
BIN
src/qt-translations/qt_fi.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_fr.qm
Normal file
BIN
src/qt-translations/qt_fr.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_gl.qm
Normal file
BIN
src/qt-translations/qt_gl.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_he.qm
Normal file
BIN
src/qt-translations/qt_he.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_hu.qm
Normal file
BIN
src/qt-translations/qt_hu.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_it.qm
Normal file
BIN
src/qt-translations/qt_it.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_ja.qm
Normal file
BIN
src/qt-translations/qt_ja.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_ko.qm
Normal file
BIN
src/qt-translations/qt_ko.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_lt.qm
Normal file
BIN
src/qt-translations/qt_lt.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_nl.qm
Normal file
BIN
src/qt-translations/qt_nl.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_pl.qm
Normal file
BIN
src/qt-translations/qt_pl.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_pt.qm
Normal file
BIN
src/qt-translations/qt_pt.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_pt_BR.qm
Normal file
BIN
src/qt-translations/qt_pt_BR.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_ru.qm
Normal file
BIN
src/qt-translations/qt_ru.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_sk.qm
Normal file
BIN
src/qt-translations/qt_sk.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_sv.qm
Normal file
BIN
src/qt-translations/qt_sv.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_tr.qm
Normal file
BIN
src/qt-translations/qt_tr.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_uk.qm
Normal file
BIN
src/qt-translations/qt_uk.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_zh_CN.qm
Normal file
BIN
src/qt-translations/qt_zh_CN.qm
Normal file
Binary file not shown.
BIN
src/qt-translations/qt_zh_TW.qm
Normal file
BIN
src/qt-translations/qt_zh_TW.qm
Normal file
Binary file not shown.
@@ -930,7 +930,7 @@ QTorrentHandle QBtSession::addMagnetUri(QString magnet_uri, bool resumed, bool f
|
||||
}
|
||||
if (savePath.isEmpty())
|
||||
savePath = getSavePath(hash, false);
|
||||
if (!defaultTempPath.isEmpty() && !TorrentPersistentData::isSeed(hash) && resumed) {
|
||||
if (!defaultTempPath.isEmpty() && !TorrentPersistentData::isSeed(hash)) {
|
||||
qDebug("addMagnetURI: Temp folder is enabled.");
|
||||
QString torrent_tmp_path = defaultTempPath.replace("\\", "/");
|
||||
p.save_path = torrent_tmp_path.toUtf8().constData();
|
||||
@@ -961,12 +961,6 @@ QTorrentHandle QBtSession::addMagnetUri(QString magnet_uri, bool resumed, bool f
|
||||
}
|
||||
Q_ASSERT(h.hash() == hash);
|
||||
|
||||
// If temp path is enabled, move torrent
|
||||
if (!defaultTempPath.isEmpty() && !resumed) {
|
||||
qDebug("Temp folder is enabled, moving new torrent to temp folder");
|
||||
h.move_storage(defaultTempPath);
|
||||
}
|
||||
|
||||
loadTorrentSettings(h);
|
||||
|
||||
// Load filtered files
|
||||
@@ -1119,7 +1113,7 @@ QTorrentHandle QBtSession::addTorrent(QString path, bool fromScanDir, QString fr
|
||||
} else {
|
||||
savePath = getSavePath(hash, fromScanDir, path);
|
||||
}
|
||||
if (!defaultTempPath.isEmpty() && !TorrentPersistentData::isSeed(hash) && resumed) {
|
||||
if (!defaultTempPath.isEmpty() && !TorrentPersistentData::isSeed(hash)) {
|
||||
qDebug("addTorrent::Temp folder is enabled.");
|
||||
QString torrent_tmp_path = defaultTempPath.replace("\\", "/");
|
||||
p.save_path = torrent_tmp_path.toUtf8().constData();
|
||||
@@ -1147,19 +1141,6 @@ QTorrentHandle QBtSession::addTorrent(QString path, bool fromScanDir, QString fr
|
||||
return h;
|
||||
}
|
||||
|
||||
// If temp path is enabled, move torrent
|
||||
// XXX: The torrent is moved after the torrent_checked_alert
|
||||
// is received to make sure we don't move a completed torrent (#602938)
|
||||
/*if (!defaultTempPath.isEmpty() && !resumed) {
|
||||
qDebug("Temp folder is enabled, moving new torrent to temp folder");
|
||||
QString torrent_tmp_path = defaultTempPath.replace("\\", "/");
|
||||
if (!root_folder.isEmpty()) {
|
||||
if (!torrent_tmp_path.endsWith("/")) torrent_tmp_path += "/";
|
||||
torrent_tmp_path += root_folder;
|
||||
}
|
||||
h.move_storage(torrent_tmp_path);
|
||||
}*/
|
||||
|
||||
loadTorrentSettings(h);
|
||||
|
||||
if (!resumed) {
|
||||
|
||||
371
src/searchengine/nova/fix_encoding.py
Normal file
371
src/searchengine/nova/fix_encoding.py
Normal file
@@ -0,0 +1,371 @@
|
||||
# Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
"""Collection of functions and classes to fix various encoding problems on
|
||||
multiple platforms with python.
|
||||
"""
|
||||
|
||||
import codecs
|
||||
import locale
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
# Prevents initializing multiple times.
|
||||
_SYS_ARGV_PROCESSED = False
|
||||
|
||||
|
||||
def complain(message):
|
||||
"""If any exception occurs in this file, we'll probably try to print it
|
||||
on stderr, which makes for frustrating debugging if stderr is directed
|
||||
to our wrapper. So be paranoid about catching errors and reporting them
|
||||
to sys.__stderr__, so that the user has a higher chance to see them.
|
||||
"""
|
||||
print >> sys.__stderr__, (
|
||||
isinstance(message, str) and message or repr(message))
|
||||
|
||||
|
||||
def fix_default_encoding():
|
||||
"""Forces utf8 solidly on all platforms.
|
||||
|
||||
By default python execution environment is lazy and defaults to ascii
|
||||
encoding.
|
||||
|
||||
http://uucode.com/blog/2007/03/23/shut-up-you-dummy-7-bit-python/
|
||||
"""
|
||||
if sys.getdefaultencoding() == 'utf-8':
|
||||
return False
|
||||
|
||||
# Regenerate setdefaultencoding.
|
||||
reload(sys)
|
||||
# Module 'sys' has no 'setdefaultencoding' member
|
||||
# pylint: disable=E1101
|
||||
sys.setdefaultencoding('utf-8')
|
||||
for attr in dir(locale):
|
||||
if attr[0:3] != 'LC_':
|
||||
continue
|
||||
aref = getattr(locale, attr)
|
||||
try:
|
||||
locale.setlocale(aref, '')
|
||||
except locale.Error:
|
||||
continue
|
||||
try:
|
||||
lang = locale.getlocale(aref)[0]
|
||||
except (TypeError, ValueError):
|
||||
continue
|
||||
if lang:
|
||||
try:
|
||||
locale.setlocale(aref, (lang, 'UTF-8'))
|
||||
except locale.Error:
|
||||
os.environ[attr] = lang + '.UTF-8'
|
||||
try:
|
||||
locale.setlocale(locale.LC_ALL, '')
|
||||
except locale.Error:
|
||||
pass
|
||||
return True
|
||||
|
||||
|
||||
###############################
|
||||
# Windows specific
|
||||
|
||||
|
||||
def fix_win_sys_argv(encoding):
|
||||
"""Converts sys.argv to 'encoding' encoded string.
|
||||
|
||||
utf-8 is recommended.
|
||||
|
||||
Works around <http://bugs.python.org/issue2128>.
|
||||
"""
|
||||
global _SYS_ARGV_PROCESSED
|
||||
if _SYS_ARGV_PROCESSED:
|
||||
return False
|
||||
|
||||
# These types are available on linux but not Mac.
|
||||
# pylint: disable=E0611,F0401
|
||||
from ctypes import byref, c_int, POINTER, windll, WINFUNCTYPE
|
||||
from ctypes.wintypes import LPCWSTR, LPWSTR
|
||||
|
||||
# <http://msdn.microsoft.com/en-us/library/ms683156.aspx>
|
||||
GetCommandLineW = WINFUNCTYPE(LPWSTR)(('GetCommandLineW', windll.kernel32))
|
||||
# <http://msdn.microsoft.com/en-us/library/bb776391.aspx>
|
||||
CommandLineToArgvW = WINFUNCTYPE(POINTER(LPWSTR), LPCWSTR, POINTER(c_int))(
|
||||
('CommandLineToArgvW', windll.shell32))
|
||||
|
||||
argc = c_int(0)
|
||||
argv_unicode = CommandLineToArgvW(GetCommandLineW(), byref(argc))
|
||||
argv = [
|
||||
argv_unicode[i].encode(encoding, 'replace')
|
||||
for i in xrange(0, argc.value)]
|
||||
|
||||
if not hasattr(sys, 'frozen'):
|
||||
# If this is an executable produced by py2exe or bbfreeze, then it
|
||||
# will have been invoked directly. Otherwise, unicode_argv[0] is the
|
||||
# Python interpreter, so skip that.
|
||||
argv = argv[1:]
|
||||
|
||||
# Also skip option arguments to the Python interpreter.
|
||||
while len(argv) > 0:
|
||||
arg = argv[0]
|
||||
if not arg.startswith(u'-') or arg == u'-':
|
||||
break
|
||||
argv = argv[1:]
|
||||
if arg == u'-m':
|
||||
# sys.argv[0] should really be the absolute path of the
|
||||
# module source, but never mind.
|
||||
break
|
||||
if arg == u'-c':
|
||||
argv[0] = u'-c'
|
||||
break
|
||||
sys.argv = argv
|
||||
_SYS_ARGV_PROCESSED = True
|
||||
return True
|
||||
|
||||
|
||||
def fix_win_codec():
|
||||
"""Works around <http://bugs.python.org/issue6058>."""
|
||||
# <http://msdn.microsoft.com/en-us/library/dd317756.aspx>
|
||||
try:
|
||||
codecs.lookup('cp65001')
|
||||
return False
|
||||
except LookupError:
|
||||
codecs.register(
|
||||
lambda name: name == 'cp65001' and codecs.lookup('utf-8') or None)
|
||||
return True
|
||||
|
||||
|
||||
class WinUnicodeOutputBase(object):
|
||||
"""Base class to adapt sys.stdout or sys.stderr to behave correctly on
|
||||
Windows.
|
||||
|
||||
Setting encoding to utf-8 is recommended.
|
||||
"""
|
||||
def __init__(self, fileno, name, encoding):
|
||||
# Corresponding file handle.
|
||||
self._fileno = fileno
|
||||
self.encoding = encoding
|
||||
self.name = name
|
||||
|
||||
self.closed = False
|
||||
self.softspace = False
|
||||
self.mode = 'w'
|
||||
|
||||
@staticmethod
|
||||
def isatty():
|
||||
return False
|
||||
|
||||
def close(self):
|
||||
# Don't really close the handle, that would only cause problems.
|
||||
self.closed = True
|
||||
|
||||
def fileno(self):
|
||||
return self._fileno
|
||||
|
||||
def flush(self):
|
||||
raise NotImplementedError()
|
||||
|
||||
def write(self, text):
|
||||
raise NotImplementedError()
|
||||
|
||||
def writelines(self, lines):
|
||||
try:
|
||||
for line in lines:
|
||||
self.write(line)
|
||||
except Exception, e:
|
||||
complain('%s.writelines: %r' % (self.name, e))
|
||||
raise
|
||||
|
||||
|
||||
class WinUnicodeConsoleOutput(WinUnicodeOutputBase):
|
||||
"""Output adapter to a Windows Console.
|
||||
|
||||
Understands how to use the win32 console API.
|
||||
"""
|
||||
def __init__(self, console_handle, fileno, stream_name, encoding):
|
||||
super(WinUnicodeConsoleOutput, self).__init__(
|
||||
fileno, '<Unicode console %s>' % stream_name, encoding)
|
||||
# Handle to use for WriteConsoleW
|
||||
self._console_handle = console_handle
|
||||
|
||||
# Loads the necessary function.
|
||||
# These types are available on linux but not Mac.
|
||||
# pylint: disable=E0611,F0401
|
||||
from ctypes import byref, GetLastError, POINTER, windll, WINFUNCTYPE
|
||||
from ctypes.wintypes import BOOL, DWORD, HANDLE, LPWSTR
|
||||
from ctypes.wintypes import LPVOID # pylint: disable=E0611
|
||||
|
||||
self._DWORD = DWORD
|
||||
self._byref = byref
|
||||
|
||||
# <http://msdn.microsoft.com/en-us/library/ms687401.aspx>
|
||||
self._WriteConsoleW = WINFUNCTYPE(
|
||||
BOOL, HANDLE, LPWSTR, DWORD, POINTER(DWORD), LPVOID)(
|
||||
('WriteConsoleW', windll.kernel32))
|
||||
self._GetLastError = GetLastError
|
||||
|
||||
def flush(self):
|
||||
# No need to flush the console since it's immediate.
|
||||
pass
|
||||
|
||||
def write(self, text):
|
||||
try:
|
||||
if not isinstance(text, unicode):
|
||||
# Convert to unicode.
|
||||
text = str(text).decode(self.encoding, 'replace')
|
||||
remaining = len(text)
|
||||
while remaining > 0:
|
||||
n = self._DWORD(0)
|
||||
# There is a shorter-than-documented limitation on the length of the
|
||||
# string passed to WriteConsoleW. See
|
||||
# <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1232>.
|
||||
retval = self._WriteConsoleW(
|
||||
self._console_handle, text,
|
||||
min(remaining, 10000),
|
||||
self._byref(n), None)
|
||||
if retval == 0 or n.value == 0:
|
||||
raise IOError(
|
||||
'WriteConsoleW returned %r, n.value = %r, last error = %r' % (
|
||||
retval, n.value, self._GetLastError()))
|
||||
remaining -= n.value
|
||||
if not remaining:
|
||||
break
|
||||
text = text[n.value:]
|
||||
except Exception, e:
|
||||
complain('%s.write: %r' % (self.name, e))
|
||||
raise
|
||||
|
||||
|
||||
class WinUnicodeOutput(WinUnicodeOutputBase):
|
||||
"""Output adaptor to a file output on Windows.
|
||||
|
||||
If the standard FileWrite function is used, it will be encoded in the current
|
||||
code page. WriteConsoleW() permits writting any character.
|
||||
"""
|
||||
def __init__(self, stream, fileno, encoding):
|
||||
super(WinUnicodeOutput, self).__init__(
|
||||
fileno, '<Unicode redirected %s>' % stream.name, encoding)
|
||||
# Output stream
|
||||
self._stream = stream
|
||||
|
||||
# Flush right now.
|
||||
self.flush()
|
||||
|
||||
def flush(self):
|
||||
try:
|
||||
self._stream.flush()
|
||||
except Exception, e:
|
||||
complain('%s.flush: %r from %r' % (self.name, e, self._stream))
|
||||
raise
|
||||
|
||||
def write(self, text):
|
||||
try:
|
||||
if isinstance(text, unicode):
|
||||
# Replace characters that cannot be printed instead of failing.
|
||||
text = text.encode(self.encoding, 'replace')
|
||||
self._stream.write(text)
|
||||
except Exception, e:
|
||||
complain('%s.write: %r' % (self.name, e))
|
||||
raise
|
||||
|
||||
|
||||
def win_handle_is_a_console(handle):
|
||||
"""Returns True if a Windows file handle is a handle to a console."""
|
||||
# These types are available on linux but not Mac.
|
||||
# pylint: disable=E0611,F0401
|
||||
from ctypes import byref, POINTER, windll, WINFUNCTYPE
|
||||
from ctypes.wintypes import BOOL, DWORD, HANDLE
|
||||
|
||||
FILE_TYPE_CHAR = 0x0002
|
||||
FILE_TYPE_REMOTE = 0x8000
|
||||
INVALID_HANDLE_VALUE = DWORD(-1).value
|
||||
|
||||
# <http://msdn.microsoft.com/en-us/library/ms683167.aspx>
|
||||
GetConsoleMode = WINFUNCTYPE(BOOL, HANDLE, POINTER(DWORD))(
|
||||
('GetConsoleMode', windll.kernel32))
|
||||
# <http://msdn.microsoft.com/en-us/library/aa364960.aspx>
|
||||
GetFileType = WINFUNCTYPE(DWORD, DWORD)(('GetFileType', windll.kernel32))
|
||||
|
||||
# GetStdHandle returns INVALID_HANDLE_VALUE, NULL, or a valid handle.
|
||||
if handle == INVALID_HANDLE_VALUE or handle is None:
|
||||
return False
|
||||
return (
|
||||
(GetFileType(handle) & ~FILE_TYPE_REMOTE) == FILE_TYPE_CHAR and
|
||||
GetConsoleMode(handle, byref(DWORD())))
|
||||
|
||||
|
||||
def win_get_unicode_stream(stream, excepted_fileno, output_handle, encoding):
|
||||
"""Returns a unicode-compatible stream.
|
||||
|
||||
This function will return a direct-Console writing object only if:
|
||||
- the file number is the expected console file number
|
||||
- the handle the expected file handle
|
||||
- the 'real' handle is in fact a handle to a console.
|
||||
"""
|
||||
old_fileno = getattr(stream, 'fileno', lambda: None)()
|
||||
if old_fileno == excepted_fileno:
|
||||
# These types are available on linux but not Mac.
|
||||
# pylint: disable=E0611,F0401
|
||||
from ctypes import windll, WINFUNCTYPE
|
||||
from ctypes.wintypes import DWORD, HANDLE
|
||||
|
||||
# <http://msdn.microsoft.com/en-us/library/ms683231.aspx>
|
||||
GetStdHandle = WINFUNCTYPE(HANDLE, DWORD)(('GetStdHandle', windll.kernel32))
|
||||
|
||||
real_output_handle = GetStdHandle(DWORD(output_handle))
|
||||
if win_handle_is_a_console(real_output_handle):
|
||||
# It's a console.
|
||||
return WinUnicodeConsoleOutput(
|
||||
real_output_handle, old_fileno, stream.name, encoding)
|
||||
|
||||
# It's something else. Create an auto-encoding stream.
|
||||
return WinUnicodeOutput(stream, old_fileno, encoding)
|
||||
|
||||
|
||||
def fix_win_console(encoding):
|
||||
"""Makes Unicode console output work independently of the current code page.
|
||||
|
||||
This also fixes <http://bugs.python.org/issue1602>.
|
||||
Credit to Michael Kaplan
|
||||
<http://blogs.msdn.com/b/michkap/archive/2010/04/07/9989346.aspx> and
|
||||
TZOmegaTZIOY
|
||||
<http://stackoverflow.com/questions/878972/windows-cmd-encoding-change-causes-python-crash/1432462#1432462>.
|
||||
"""
|
||||
if (isinstance(sys.stdout, WinUnicodeOutputBase) or
|
||||
isinstance(sys.stderr, WinUnicodeOutputBase)):
|
||||
return False
|
||||
|
||||
try:
|
||||
# SetConsoleCP and SetConsoleOutputCP could be used to change the code page
|
||||
# but it's not really useful since the code here is using WriteConsoleW().
|
||||
# Also, changing the code page is 'permanent' to the console and needs to be
|
||||
# reverted manually.
|
||||
# In practice one needs to set the console font to a TTF font to be able to
|
||||
# see all the characters but it failed for me in practice. In any case, it
|
||||
# won't throw any exception when printing, which is the important part.
|
||||
# -11 and -12 are defined in stdio.h
|
||||
sys.stdout = win_get_unicode_stream(sys.stdout, 1, -11, encoding)
|
||||
sys.stderr = win_get_unicode_stream(sys.stderr, 2, -12, encoding)
|
||||
# TODO(maruel): Do sys.stdin with ReadConsoleW(). Albeit the limitation is
|
||||
# "It doesn't appear to be possible to read Unicode characters in UTF-8
|
||||
# mode" and this appears to be a limitation of cmd.exe.
|
||||
except Exception, e:
|
||||
complain('exception %r while fixing up sys.stdout and sys.stderr' % e)
|
||||
return True
|
||||
|
||||
|
||||
def fix_encoding():
|
||||
"""Fixes various encoding problems on all platforms.
|
||||
|
||||
Should be called at the very begining of the process.
|
||||
"""
|
||||
ret = True
|
||||
if sys.platform == 'win32':
|
||||
ret &= fix_win_codec()
|
||||
|
||||
ret &= fix_default_encoding()
|
||||
|
||||
if sys.platform == 'win32':
|
||||
encoding = sys.getdefaultencoding()
|
||||
ret &= fix_win_sys_argv(encoding)
|
||||
ret &= fix_win_console(encoding)
|
||||
return ret
|
||||
@@ -26,7 +26,7 @@
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
#VERSION: 1.23
|
||||
#VERSION: 1.31
|
||||
|
||||
# Author:
|
||||
# Fabien Devaux <fab AT gnux DOT info>
|
||||
@@ -42,6 +42,8 @@ import threading
|
||||
import os
|
||||
import glob
|
||||
|
||||
import fix_encoding
|
||||
|
||||
THREADED = True
|
||||
CATEGORIES = ('all', 'movies', 'tv', 'music', 'games', 'anime', 'software', 'pictures', 'books')
|
||||
|
||||
@@ -111,6 +113,9 @@ class EngineLauncher(threading.Thread):
|
||||
self.engine.search(self.what)
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Make sure we enforce utf-8 encoding
|
||||
fix_encoding.fix_encoding()
|
||||
|
||||
if len(sys.argv) < 2:
|
||||
raise SystemExit('./nova2.py [all|engine1[,engine2]*] <category> <keywords>\navailable engines: %s'%
|
||||
(','.join(supported_engines)))
|
||||
|
||||
@@ -1,55 +1,56 @@
|
||||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource>
|
||||
<file>nova/fix_encoding.py</file>
|
||||
<file>nova/helpers.py</file>
|
||||
<file>nova/nova2.py</file>
|
||||
<file>nova/nova2dl.py</file>
|
||||
<file>nova/novaprinter.py</file>
|
||||
<file>nova/socks.py</file>
|
||||
<file>nova/nova2dl.py</file>
|
||||
<file>nova/helpers.py</file>
|
||||
<file>nova/engines/vertor.png</file>
|
||||
<file>nova/engines/btdigg.png</file>
|
||||
<file>nova/engines/btdigg.py</file>
|
||||
<file>nova/engines/btjunkie.png</file>
|
||||
<file>nova/engines/btjunkie.py</file>
|
||||
<file>nova/engines/extratorrent.png</file>
|
||||
<file>nova/engines/extratorrent.py</file>
|
||||
<file>nova/engines/isohunt.png</file>
|
||||
<file>nova/engines/isohunt.py</file>
|
||||
<file>nova/engines/kickasstorrents.png</file>
|
||||
<file>nova/engines/kickasstorrents.py</file>
|
||||
<file>nova/engines/mininova.png</file>
|
||||
<file>nova/engines/mininova.py</file>
|
||||
<file>nova/engines/torrentdownloads.png</file>
|
||||
<file>nova/engines/isohunt.png</file>
|
||||
<file>nova/engines/torrentreactor.py</file>
|
||||
<file>nova/engines/btjunkie.png</file>
|
||||
<file>nova/engines/extratorrent.py</file>
|
||||
<file>nova/engines/piratebay.png</file>
|
||||
<file>nova/engines/piratebay.py</file>
|
||||
<file>nova/engines/torrentdownloads.png</file>
|
||||
<file>nova/engines/torrentdownloads.py</file>
|
||||
<file>nova/engines/torrentreactor.png</file>
|
||||
<file>nova/engines/isohunt.py</file>
|
||||
<file>nova/engines/btdigg.py</file>
|
||||
<file>nova/engines/btjunkie.py</file>
|
||||
<file>nova/engines/kickasstorrents.py</file>
|
||||
<file>nova/engines/extratorrent.png</file>
|
||||
<file>nova/engines/piratebay.png</file>
|
||||
<file>nova/engines/torrentreactor.py</file>
|
||||
<file>nova/engines/vertor.png</file>
|
||||
<file>nova/engines/vertor.py</file>
|
||||
<file>nova/engines/btdigg.png</file>
|
||||
<file>nova3/sgmllib3.py</file>
|
||||
<file>nova3/nova2.py</file>
|
||||
<file>nova3/novaprinter.py</file>
|
||||
<file>nova3/socks.py</file>
|
||||
<file>nova3/nova2dl.py</file>
|
||||
<file>nova3/helpers.py</file>
|
||||
<file>nova3/engines/vertor.png</file>
|
||||
<file>nova3/nova2.py</file>
|
||||
<file>nova3/nova2dl.py</file>
|
||||
<file>nova3/novaprinter.py</file>
|
||||
<file>nova3/sgmllib3.py</file>
|
||||
<file>nova3/socks.py</file>
|
||||
<file>nova3/engines/btdigg.png</file>
|
||||
<file>nova3/engines/btdigg.py</file>
|
||||
<file>nova3/engines/btjunkie.png</file>
|
||||
<file>nova3/engines/btjunkie.py</file>
|
||||
<file>nova3/engines/extratorrent.png</file>
|
||||
<file>nova3/engines/extratorrent.py</file>
|
||||
<file>nova3/engines/isohunt.png</file>
|
||||
<file>nova3/engines/isohunt.py</file>
|
||||
<file>nova3/engines/kickasstorrents.png</file>
|
||||
<file>nova3/engines/kickasstorrents.py</file>
|
||||
<file>nova3/engines/mininova.png</file>
|
||||
<file>nova3/engines/mininova.py</file>
|
||||
<file>nova3/engines/torrentdownloads.png</file>
|
||||
<file>nova3/engines/isohunt.png</file>
|
||||
<file>nova3/engines/torrentreactor.py</file>
|
||||
<file>nova3/engines/btjunkie.png</file>
|
||||
<file>nova3/engines/extratorrent.py</file>
|
||||
<file>nova3/engines/piratebay.png</file>
|
||||
<file>nova3/engines/piratebay.py</file>
|
||||
<file>nova3/engines/torrentdownloads.png</file>
|
||||
<file>nova3/engines/torrentdownloads.py</file>
|
||||
<file>nova3/engines/torrentreactor.png</file>
|
||||
<file>nova3/engines/isohunt.py</file>
|
||||
<file>nova3/engines/btdigg.py</file>
|
||||
<file>nova3/engines/btjunkie.py</file>
|
||||
<file>nova3/engines/kickasstorrents.py</file>
|
||||
<file>nova3/engines/extratorrent.png</file>
|
||||
<file>nova3/engines/piratebay.png</file>
|
||||
<file>nova3/engines/torrentreactor.py</file>
|
||||
<file>nova3/engines/vertor.png</file>
|
||||
<file>nova3/engines/vertor.py</file>
|
||||
<file>nova3/engines/btdigg.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
@@ -443,6 +443,12 @@ void SearchEngine::updateNova() {
|
||||
removePythonScriptIfExists(filePath);
|
||||
QFile::copy(":/"+nova_folder+"/socks.py", filePath);
|
||||
|
||||
if (nova_folder == "nova") {
|
||||
filePath = search_dir.absoluteFilePath("fix_encoding.py");
|
||||
removePythonScriptIfExists(filePath);
|
||||
QFile::copy(":/"+nova_folder+"/fix_encoding.py", filePath);
|
||||
}
|
||||
|
||||
if (nova_folder == "nova3") {
|
||||
filePath = search_dir.absoluteFilePath("sgmllib3.py");
|
||||
removePythonScriptIfExists(filePath);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
PROJECT_NAME = qbittorrent
|
||||
PROJECT_VERSION = 3.0.2
|
||||
PROJECT_VERSION = 3.0.4
|
||||
|
||||
os2 {
|
||||
DEFINES += VERSION=\'\"v$${PROJECT_VERSION}\"\'
|
||||
@@ -9,4 +9,4 @@ os2 {
|
||||
|
||||
DEFINES += VERSION_MAJOR=3
|
||||
DEFINES += VERSION_MINOR=0
|
||||
DEFINES += VERSION_BUGFIX=2
|
||||
DEFINES += VERSION_BUGFIX=4
|
||||
|
||||
@@ -13,5 +13,5 @@ CONFIG(debug, debug|release) {
|
||||
}
|
||||
|
||||
LIBS += advapi32.lib shell32.lib crypt32.lib
|
||||
LIBS += libeay32MD.lib ssleay32MD.lib
|
||||
LIBS += libeay32.lib ssleay32.lib
|
||||
LIBS += PowrProf.lib
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#Point this to the boost include folder
|
||||
INCLUDEPATH += $$quote(C:/qBittorrent/boost_1_51_0)
|
||||
#Point this to the libtorrent include folser
|
||||
#Point this to the libtorrent include folder
|
||||
INCLUDEPATH += $$quote(C:/qBittorrent/RC_0_16/include)
|
||||
|
||||
#Point this to the boost lib folder
|
||||
|
||||
Reference in New Issue
Block a user