Browse Source

- Displaying more infos about the torrent in its properties (hash, creator, comment)

- Preparing GUI to allow trackers list edition (Unfinished)
adaptive-webui-19844
Christophe Dumez 18 years ago
parent
commit
a346d49b60
  1. 718
      src/properties.ui
  2. 8
      src/properties_imp.cpp

718
src/properties.ui

@ -70,64 +70,209 @@
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QVBoxLayout" > <widget class="QGroupBox" name="groupTorrentInfos" >
<property name="margin" > <property name="title" >
<number>0</number> <string>Torrent infos</string>
</property>
<property name="spacing" >
<number>6</number>
</property> </property>
<item> <layout class="QVBoxLayout" >
<layout class="QHBoxLayout" > <property name="margin" >
<property name="margin" > <number>9</number>
<number>0</number> </property>
</property> <property name="spacing" >
<property name="spacing" > <number>6</number>
<number>6</number> </property>
</property> <item>
<item> <layout class="QHBoxLayout" >
<widget class="QLabel" name="savePath_lbl" > <property name="margin" >
<property name="font" > <number>0</number>
<font> </property>
<weight>75</weight> <property name="spacing" >
<bold>true</bold> <number>6</number>
</font> </property>
</property> <item>
<property name="text" > <layout class="QVBoxLayout" >
<string>Save path:</string> <property name="margin" >
</property> <number>0</number>
</widget> </property>
</item> <property name="spacing" >
<item> <number>6</number>
<widget class="QLabel" name="save_path" > </property>
<property name="text" > <item>
<string/> <widget class="QLabel" name="savePath_lbl" >
</property> <property name="minimumSize" >
</widget> <size>
</item> <width>0</width>
<item> <height>29</height>
<spacer> </size>
<property name="orientation" > </property>
<enum>Qt::Horizontal</enum> <property name="font" >
</property> <font>
<property name="sizeHint" > <weight>75</weight>
<size> <bold>true</bold>
<width>40</width> </font>
<height>20</height> </property>
</size> <property name="text" >
</property> <string>Save path:</string>
</spacer> </property>
</item> </widget>
</layout> </item>
</item> <item>
</layout> <widget class="QLabel" name="creator_lbl" >
<property name="minimumSize" >
<size>
<width>0</width>
<height>28</height>
</size>
</property>
<property name="font" >
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>Creator:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="hash_lbl2" >
<property name="minimumSize" >
<size>
<width>0</width>
<height>29</height>
</size>
</property>
<property name="font" >
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>Torrent hash:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="comment_lbl" >
<property name="minimumSize" >
<size>
<width>0</width>
<height>128</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>16777215</width>
<height>120</height>
</size>
</property>
<property name="font" >
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>Comment:</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="save_path" >
<property name="minimumSize" >
<size>
<width>0</width>
<height>29</height>
</size>
</property>
<property name="text" >
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="creator" >
<property name="minimumSize" >
<size>
<width>0</width>
<height>28</height>
</size>
</property>
<property name="text" >
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="hash_lbl" >
<property name="minimumSize" >
<size>
<width>0</width>
<height>29</height>
</size>
</property>
<property name="text" >
<string/>
</property>
</widget>
</item>
<item>
<widget class="QTextEdit" name="comment_txt" >
<property name="maximumSize" >
<size>
<width>16777215</width>
<height>120</height>
</size>
</property>
<property name="undoRedoEnabled" >
<bool>false</bool>
</property>
<property name="readOnly" >
<bool>true</bool>
</property>
<property name="acceptRichText" >
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox_2" > <widget class="QGroupBox" name="groupBox" >
<property name="sizePolicy" > <property name="sizePolicy" >
<sizepolicy> <sizepolicy>
<hsizetype>7</hsizetype> <hsizetype>5</hsizetype>
<vsizetype>7</vsizetype> <vsizetype>5</vsizetype>
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -135,7 +280,7 @@
<property name="minimumSize" > <property name="minimumSize" >
<size> <size>
<width>0</width> <width>0</width>
<height>170</height> <height>115</height>
</size> </size>
</property> </property>
<property name="font" > <property name="font" >
@ -150,7 +295,7 @@
</font> </font>
</property> </property>
<property name="title" > <property name="title" >
<string>Tracker</string> <string>Current session</string>
</property> </property>
<layout class="QVBoxLayout" > <layout class="QVBoxLayout" >
<property name="margin" > <property name="margin" >
@ -176,7 +321,7 @@
<number>6</number> <number>6</number>
</property> </property>
<item> <item>
<widget class="QLabel" name="label_9" > <widget class="QLabel" name="label_5" >
<property name="font" > <property name="font" >
<font> <font>
<family>Sans Serif</family> <family>Sans Serif</family>
@ -189,12 +334,12 @@
</font> </font>
</property> </property>
<property name="text" > <property name="text" >
<string>Trackers:</string> <string>Total uploaded:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="label_10" > <widget class="QLabel" name="label_6" >
<property name="font" > <property name="font" >
<font> <font>
<family>Sans Serif</family> <family>Sans Serif</family>
@ -207,18 +352,30 @@
</font> </font>
</property> </property>
<property name="text" > <property name="text" >
<string>Errors:</string> <string>Total downloaded:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="label_2" > <widget class="QLabel" name="lbl_ratio" >
<property name="maximumSize" > <property name="font" >
<size> <font>
<width>16777215</width> <family>Sans Serif</family>
<height>16</height> <pointsize>9</pointsize>
</size> <weight>50</weight>
<italic>false</italic>
<bold>false</bold>
<underline>false</underline>
<strikeout>false</strikeout>
</font>
</property> </property>
<property name="text" >
<string>Share ratio:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_8" >
<property name="font" > <property name="font" >
<font> <font>
<family>Sans Serif</family> <family>Sans Serif</family>
@ -231,7 +388,7 @@
</font> </font>
</property> </property>
<property name="text" > <property name="text" >
<string>Current tracker:</string> <string>Total failed:</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -246,32 +403,28 @@
<number>6</number> <number>6</number>
</property> </property>
<item> <item>
<widget class="QListWidget" name="trackersURLS" > <widget class="QLabel" name="upTotal" >
<property name="sizePolicy" > <property name="text" >
<sizepolicy> <string/>
<hsizetype>7</hsizetype>
<vsizetype>7</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QTextBrowser" name="trackerErrors" > <widget class="QLabel" name="dlTotal" >
<property name="lineWrapMode" > <property name="text" >
<enum>QTextEdit::NoWrap</enum> <string/>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="trackerURL" > <widget class="QLabel" name="shareRatio" >
<property name="maximumSize" > <property name="text" >
<size> <string/>
<width>16777215</width>
<height>16</height>
</size>
</property> </property>
</widget>
</item>
<item>
<widget class="QLabel" name="failed" >
<property name="text" > <property name="text" >
<string/> <string/>
</property> </property>
@ -279,17 +432,61 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>181</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox" > <widget class="QCheckBox" name="incrementalDownload" >
<property name="font" >
<font>
<family>Sans Serif</family>
<pointsize>9</pointsize>
<weight>50</weight>
<italic>false</italic>
<bold>false</bold>
<underline>false</underline>
<strikeout>false</strikeout>
</font>
</property>
<property name="text" >
<string>Download in correct order (slower but good for previewing)</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_3" >
<attribute name="title" >
<string>Trackers</string>
</attribute>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox_2" >
<property name="sizePolicy" > <property name="sizePolicy" >
<sizepolicy> <sizepolicy>
<hsizetype>5</hsizetype> <hsizetype>7</hsizetype>
<vsizetype>5</vsizetype> <vsizetype>7</vsizetype>
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -297,7 +494,7 @@
<property name="minimumSize" > <property name="minimumSize" >
<size> <size>
<width>0</width> <width>0</width>
<height>115</height> <height>170</height>
</size> </size>
</property> </property>
<property name="font" > <property name="font" >
@ -312,7 +509,7 @@
</font> </font>
</property> </property>
<property name="title" > <property name="title" >
<string>Current Session</string> <string>Tracker</string>
</property> </property>
<layout class="QVBoxLayout" > <layout class="QVBoxLayout" >
<property name="margin" > <property name="margin" >
@ -329,6 +526,24 @@
<property name="spacing" > <property name="spacing" >
<number>6</number> <number>6</number>
</property> </property>
<item>
<widget class="QLabel" name="label_9" >
<property name="font" >
<font>
<family>Sans Serif</family>
<pointsize>9</pointsize>
<weight>50</weight>
<italic>false</italic>
<bold>false</bold>
<underline>false</underline>
<strikeout>false</strikeout>
</font>
</property>
<property name="text" >
<string>Trackers:</string>
</property>
</widget>
</item>
<item> <item>
<layout class="QVBoxLayout" > <layout class="QVBoxLayout" >
<property name="margin" > <property name="margin" >
@ -337,6 +552,18 @@
<property name="spacing" > <property name="spacing" >
<number>6</number> <number>6</number>
</property> </property>
<item>
<widget class="QListWidget" name="trackersURLS" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>7</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item> <item>
<layout class="QHBoxLayout" > <layout class="QHBoxLayout" >
<property name="margin" > <property name="margin" >
@ -346,175 +573,234 @@
<number>6</number> <number>6</number>
</property> </property>
<item> <item>
<widget class="QLabel" name="label_5" > <spacer>
<property name="font" > <property name="orientation" >
<font> <enum>Qt::Horizontal</enum>
<family>Sans Serif</family>
<pointsize>9</pointsize>
<weight>50</weight>
<italic>false</italic>
<bold>false</bold>
<underline>false</underline>
<strikeout>false</strikeout>
</font>
</property> </property>
<property name="text" > <property name="sizeHint" >
<string>Total uploaded:</string> <size>
<width>40</width>
<height>20</height>
</size>
</property> </property>
</widget> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="upTotal" > <widget class="QPushButton" name="removeTracker_button" >
<property name="minimumSize" >
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="text" > <property name="text" >
<string/> <string/>
</property> </property>
</widget> </widget>
</item> </item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item> <item>
<widget class="QLabel" name="label_6" > <widget class="QPushButton" name="addTracker_button" >
<property name="font" > <property name="minimumSize" >
<font> <size>
<family>Sans Serif</family> <width>24</width>
<pointsize>9</pointsize> <height>24</height>
<weight>50</weight> </size>
<italic>false</italic> </property>
<bold>false</bold> <property name="maximumSize" >
<underline>false</underline> <size>
<strikeout>false</strikeout> <width>24</width>
</font> <height>24</height>
</size>
</property> </property>
<property name="text" > <property name="text" >
<string>Total downloaded:</string> <string/>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="dlTotal" > <spacer>
<property name="text" > <property name="orientation" >
<string/> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> <property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item> </item>
</layout> </layout>
</item> </item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item> <item>
<layout class="QHBoxLayout" > <spacer>
<property name="margin" > <property name="orientation" >
<number>0</number> <enum>Qt::Vertical</enum>
</property> </property>
<property name="spacing" > <property name="sizeHint" >
<number>6</number> <size>
<width>20</width>
<height>40</height>
</size>
</property> </property>
<item> </spacer>
<widget class="QLabel" name="lbl_ratio" >
<property name="font" >
<font>
<family>Sans Serif</family>
<pointsize>9</pointsize>
<weight>50</weight>
<italic>false</italic>
<bold>false</bold>
<underline>false</underline>
<strikeout>false</strikeout>
</font>
</property>
<property name="text" >
<string>Share Ratio:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="shareRatio" >
<property name="text" >
<string/>
</property>
</widget>
</item>
</layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" > <widget class="QPushButton" name="riseTracker_button" >
<property name="margin" > <property name="minimumSize" >
<number>0</number> <size>
<width>24</width>
<height>24</height>
</size>
</property> </property>
<property name="spacing" > <property name="maximumSize" >
<number>6</number> <size>
<width>24</width>
<height>24</height>
</size>
</property> </property>
<item> <property name="text" >
<widget class="QLabel" name="label_8" > <string/>
<property name="font" > </property>
<font> </widget>
<family>Sans Serif</family> </item>
<pointsize>9</pointsize> <item>
<weight>50</weight> <widget class="QPushButton" name="lowerTracker_button" >
<italic>false</italic> <property name="minimumSize" >
<bold>false</bold> <size>
<underline>false</underline> <width>24</width>
<strikeout>false</strikeout> <height>24</height>
</font> </size>
</property> </property>
<property name="text" > <property name="maximumSize" >
<string>Total failed:</string> <size>
</property> <width>24</width>
</widget> <height>24</height>
</item> </size>
<item> </property>
<widget class="QLabel" name="failed" > <property name="text" >
<property name="text" > <string/>
<string/> </property>
</property> </widget>
</widget> </item>
</item> <item>
</layout> <spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item> </item>
</layout> </layout>
</item> </item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="label_10" >
<property name="font" >
<font>
<family>Sans Serif</family>
<pointsize>9</pointsize>
<weight>50</weight>
<italic>false</italic>
<bold>false</bold>
<underline>false</underline>
<strikeout>false</strikeout>
</font>
</property>
<property name="text" >
<string>Errors:</string>
</property>
</widget>
</item>
<item> <item>
<spacer> <widget class="QTextBrowser" name="trackerErrors" >
<property name="orientation" > <property name="lineWrapMode" >
<enum>Qt::Horizontal</enum> <enum>QTextEdit::NoWrap</enum>
</property> </property>
<property name="sizeHint" > </widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="label_2" >
<property name="maximumSize" >
<size> <size>
<width>181</width> <width>16777215</width>
<height>20</height> <height>16</height>
</size> </size>
</property> </property>
</spacer> <property name="font" >
<font>
<family>Sans Serif</family>
<pointsize>9</pointsize>
<weight>50</weight>
<italic>false</italic>
<bold>false</bold>
<underline>false</underline>
<strikeout>false</strikeout>
</font>
</property>
<property name="text" >
<string>Current tracker:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="trackerURL" >
<property name="maximumSize" >
<size>
<width>16777215</width>
<height>16</height>
</size>
</property>
<property name="text" >
<string/>
</property>
</widget>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="incrementalDownload" >
<property name="font" >
<font>
<family>Sans Serif</family>
<pointsize>9</pointsize>
<weight>50</weight>
<italic>false</italic>
<bold>false</bold>
<underline>false</underline>
<strikeout>false</strikeout>
</font>
</property>
<property name="text" >
<string>Download in correct order (slower but good for previewing)</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="tab_2" > <widget class="QWidget" name="tab_2" >

8
src/properties_imp.cpp

@ -42,11 +42,16 @@ properties::properties(QWidget *parent, torrent_handle h, QStringList trackerErr
filesList->setItemDelegate(PropDelegate); filesList->setItemDelegate(PropDelegate);
connect(filesList, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(toggleSelectedState(const QModelIndex&))); connect(filesList, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(toggleSelectedState(const QModelIndex&)));
// get Infos from torrent handle // get Infos from torrent handle
save_path->setText(QString(h.save_path().string().c_str()));
fileHash = QString(misc::toString(h.info_hash()).c_str()); fileHash = QString(misc::toString(h.info_hash()).c_str());
torrent_status torrentStatus = h.status(); torrent_status torrentStatus = h.status();
torrent_info torrentInfo = h.get_torrent_info(); torrent_info torrentInfo = h.get_torrent_info();
fileName->setText(torrentInfo.name().c_str()); fileName->setText(torrentInfo.name().c_str());
// Torrent Infos
save_path->setText(QString(h.save_path().string().c_str()));
creator->setText(QString(torrentInfo.creator().c_str()));
hash_lbl->setText(fileHash);
comment_txt->setText(QString(torrentInfo.comment().c_str()));
//Trackers
QString tracker = QString(torrentStatus.current_tracker.c_str()).trimmed(); QString tracker = QString(torrentStatus.current_tracker.c_str()).trimmed();
if(!tracker.isEmpty()){ if(!tracker.isEmpty()){
trackerURL->setText(tracker); trackerURL->setText(tracker);
@ -57,6 +62,7 @@ properties::properties(QWidget *parent, torrent_handle h, QStringList trackerErr
for(unsigned int i=0; i<trackers.size(); ++i){ for(unsigned int i=0; i<trackers.size(); ++i){
trackersURLS->addItem(QString(trackers[i].url.c_str())); trackersURLS->addItem(QString(trackers[i].url.c_str()));
} }
// Session infos
char tmp[MAX_CHAR_TMP]; char tmp[MAX_CHAR_TMP];
failed->setText(misc::friendlyUnit(torrentStatus.total_failed_bytes)); failed->setText(misc::friendlyUnit(torrentStatus.total_failed_bytes));
upTotal->setText(misc::friendlyUnit(torrentStatus.total_payload_upload)); upTotal->setText(misc::friendlyUnit(torrentStatus.total_payload_upload));

Loading…
Cancel
Save