diff --git a/qt/CMakeLists.txt b/qt/CMakeLists.txt index 50a427fd7..497d8dae0 100644 --- a/qt/CMakeLists.txt +++ b/qt/CMakeLists.txt @@ -108,6 +108,8 @@ tr_qt_wrap_ui(${PROJECT_NAME}_UI_SOURCES about.ui details.ui mainwin.ui + make-dialog.ui + make-progress-dialog.ui options.ui relocate.ui session-dialog.ui diff --git a/qt/mainwin.cc b/qt/mainwin.cc index 8e7c0fc17..68fe94b72 100644 --- a/qt/mainwin.cc +++ b/qt/mainwin.cc @@ -1100,6 +1100,7 @@ void TrMainWindow::newTorrent () { MakeDialog * dialog = new MakeDialog (mySession, this); + dialog->setAttribute (Qt::WA_DeleteOnClose); dialog->show (); } diff --git a/qt/make-dialog.cc b/qt/make-dialog.cc index 176507e6e..950f988ea 100644 --- a/qt/make-dialog.cc +++ b/qt/make-dialog.cc @@ -7,112 +7,131 @@ * $Id$ */ -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include #include -#include -#include #include -#include -#include -#include #include -#include #include #include #include #include "formatter.h" -#include "hig.h" #include "make-dialog.h" #include "session.h" #include "utils.h" -/*** -**** -***/ +#include "ui_make-progress-dialog.h" -void -MakeDialog::onNewDialogDestroyed (QObject * o) +namespace { - Q_UNUSED (o); + class MakeProgressDialog: public QDialog + { + Q_OBJECT - myTimer.stop (); + public: + MakeProgressDialog (Session& session, tr_metainfo_builder& builder, QWidget * parent = nullptr); + + private slots: + void onButtonBoxClicked (QAbstractButton *); + void onProgress (); + + private: + Session& mySession; + tr_metainfo_builder& myBuilder; + Ui::MakeProgressDialog ui; + QTimer myTimer; + }; +} + +MakeProgressDialog::MakeProgressDialog (Session& session, tr_metainfo_builder& builder, QWidget * parent): + QDialog (parent), + mySession (session), + myBuilder (builder) +{ + ui.setupUi (this); + + connect (ui.dialogButtons, SIGNAL (clicked (QAbstractButton *)), + this, SLOT (onButtonBoxClicked (QAbstractButton *))); + + connect (&myTimer, SIGNAL (timeout ()), this, SLOT (onProgress ())); + myTimer.start (100); + + onProgress (); } void -MakeDialog::onNewButtonBoxClicked (QAbstractButton * button) +MakeProgressDialog::onButtonBoxClicked (QAbstractButton * button) { - switch (myNewButtonBox->standardButton (button)) + switch (ui.dialogButtons->standardButton (button)) { case QDialogButtonBox::Open: - mySession.addNewlyCreatedTorrent (myTarget, QFileInfo(QString::fromUtf8(myBuilder->top)).dir().path()); + mySession.addNewlyCreatedTorrent (QString::fromUtf8 (myBuilder.outputFile), + QFileInfo (QString::fromUtf8 (myBuilder.top)).dir ().path ()); break; case QDialogButtonBox::Abort: - myBuilder->abortFlag = true; + myBuilder.abortFlag = true; break; default: // QDialogButtonBox::Ok: break; } - myNewDialog->deleteLater (); + close (); } void -MakeDialog::onProgress () +MakeProgressDialog::onProgress () { // progress bar - const tr_metainfo_builder * b = myBuilder; - const double denom = b->pieceCount ? b->pieceCount : 1; - myNewProgress->setValue (static_cast ((100.0 * b->pieceIndex) / denom)); + const tr_metainfo_builder& b = myBuilder; + const double denom = b.pieceCount ? b.pieceCount : 1; + ui.progressBar->setValue (static_cast ((100.0 * b.pieceIndex) / denom)); // progress label - const QString top = QString::fromLocal8Bit (myBuilder->top); - const QString base (QFileInfo(top).completeBaseName()); + const QString top = QString::fromUtf8 (b.top); + const QString base (QFileInfo (top).completeBaseName ()); QString str; - if (!b->isDone) + if (!b.isDone) str = tr ("Creating \"%1\"").arg (base); - else if (b->result == TR_MAKEMETA_OK) + else if (b.result == TR_MAKEMETA_OK) str = tr ("Created \"%1\"!").arg (base); - else if (b->result == TR_MAKEMETA_URL) - str = tr ("Error: invalid announce URL \"%1\"").arg (QString::fromLocal8Bit (b->errfile)); - else if (b->result == TR_MAKEMETA_CANCELLED) + else if (b.result == TR_MAKEMETA_URL) + str = tr ("Error: invalid announce URL \"%1\"").arg (QString::fromUtf8 (b.errfile)); + else if (b.result == TR_MAKEMETA_CANCELLED) str = tr ("Cancelled"); - else if (b->result == TR_MAKEMETA_IO_READ) - str = tr ("Error reading \"%1\": %2").arg (QString::fromLocal8Bit(b->errfile)).arg (QString::fromLocal8Bit(strerror(b->my_errno))); - else if (b->result == TR_MAKEMETA_IO_WRITE) - str = tr ("Error writing \"%1\": %2").arg (QString::fromLocal8Bit(b->errfile)).arg (QString::fromLocal8Bit(strerror(b->my_errno))); - myNewLabel->setText (str); + else if (b.result == TR_MAKEMETA_IO_READ) + str = tr ("Error reading \"%1\": %2").arg (QString::fromUtf8 (b.errfile)). + arg (QString::fromLocal8Bit (tr_strerror (b.my_errno))); + else if (b.result == TR_MAKEMETA_IO_WRITE) + str = tr ("Error writing \"%1\": %2").arg (QString::fromUtf8 (b.errfile)). + arg (QString::fromLocal8Bit (tr_strerror (b.my_errno))); + ui.progressLabel->setText (str); // buttons - (myNewButtonBox->button(QDialogButtonBox::Abort))->setEnabled (!b->isDone); - (myNewButtonBox->button(QDialogButtonBox::Ok))->setEnabled (b->isDone); - (myNewButtonBox->button(QDialogButtonBox::Open))->setEnabled (b->isDone && !b->result); + ui.dialogButtons->button (QDialogButtonBox::Abort)->setEnabled (!b.isDone); + ui.dialogButtons->button (QDialogButtonBox::Ok)->setEnabled (b.isDone); + ui.dialogButtons->button (QDialogButtonBox::Open)->setEnabled (b.isDone && b.result == TR_MAKEMETA_OK); } +#include "make-dialog.moc" + +/*** +**** +***/ void MakeDialog::makeTorrent () { - if (!myBuilder) + if (myBuilder == nullptr) return; // get the tiers int tier = 0; QVector trackers; - foreach (QString line, myTrackerEdit->toPlainText().split("\n")) + foreach (QString line, ui.trackersEdit->toPlainText ().split ("\n")) { line = line.trimmed (); if (line.isEmpty ()) @@ -122,162 +141,44 @@ MakeDialog::makeTorrent () else { tr_tracker_info tmp; - tmp.announce = tr_strdup (line.toUtf8().constData ()); + tmp.announce = tr_strdup (line.toUtf8 ().constData ()); tmp.tier = tier; trackers.append (tmp); } } - // pop up the dialog - QDialog * dialog = new QDialog (this); - dialog->setWindowTitle (tr ("New Torrent")); - myNewDialog = dialog; - QVBoxLayout * top = new QVBoxLayout (dialog); - top->addWidget( (myNewLabel = new QLabel)); - top->addWidget( (myNewProgress = new QProgressBar)); - QDialogButtonBox * buttons = new QDialogButtonBox (QDialogButtonBox::Ok - | QDialogButtonBox::Open - | QDialogButtonBox::Abort); - myNewButtonBox = buttons; - connect (buttons, SIGNAL(clicked(QAbstractButton*)), - this, SLOT(onNewButtonBoxClicked(QAbstractButton*))); - top->addWidget (buttons); - onProgress (); - dialog->show (); - connect (dialog, SIGNAL(destroyed(QObject*)), - this, SLOT(onNewDialogDestroyed(QObject*))); - myTimer.start (100); - // the file to create const QString path = QString::fromUtf8 (myBuilder->top); - const QString torrentName = QFileInfo(path).completeBaseName() + ".torrent"; - myTarget = QDir (myDestination).filePath (torrentName); + const QString torrentName = QFileInfo (path).completeBaseName () + ".torrent"; + const QString target = QDir (ui.destinationButton->path ()).filePath (torrentName); // comment QString comment; - if (myCommentCheck->isChecked()) - comment = myCommentEdit->text(); + if (ui.commentCheck->isChecked ()) + comment = ui.commentEdit->text (); // start making the torrent - tr_makeMetaInfo (myBuilder, - myTarget.toUtf8().constData(), - (trackers.isEmpty() ? NULL : trackers.data()), - trackers.size(), - (comment.isEmpty() ? NULL : comment.toUtf8().constData()), - myPrivateCheck->isChecked()); + tr_makeMetaInfo (myBuilder.get (), + target.toUtf8 ().constData (), + trackers.isEmpty () ? NULL : trackers.data (), + trackers.size (), + comment.isEmpty () ? NULL : comment.toUtf8 ().constData (), + ui.privateCheck->isChecked ()); + + // pop up the dialog + MakeProgressDialog * dialog = new MakeProgressDialog (mySession, *myBuilder, this); + dialog->setAttribute (Qt::WA_DeleteOnClose); + dialog->open (); } /*** **** ***/ -void -MakeDialog::onFileClicked () -{ - QFileDialog * d = new QFileDialog (this, tr ("Select File")); - d->setFileMode (QFileDialog::ExistingFile); - d->setAttribute (Qt::WA_DeleteOnClose); - connect (d, SIGNAL(filesSelected(QStringList)), - this, SLOT(onFileSelected(QStringList))); - d->show (); -} -void -MakeDialog::onFileSelected (const QStringList& list) -{ - if (!list.empty ()) - onFileSelected (list.front ()); -} -void -MakeDialog::onFileSelected (const QString& filename) -{ - myFile = Utils::removeTrailingDirSeparator (filename); - myFileButton->setText (QFileInfo(myFile).fileName()); - onSourceChanged (); -} - -void -MakeDialog::onFolderClicked () -{ - QFileDialog * d = new QFileDialog (this, tr ("Select Folder")); - d->setFileMode (QFileDialog::Directory); - d->setOption (QFileDialog::ShowDirsOnly); - d->setAttribute (Qt::WA_DeleteOnClose); - connect (d, SIGNAL(filesSelected(QStringList)), - this, SLOT(onFolderSelected(QStringList))); - d->show (); -} - -void -MakeDialog::onFolderSelected (const QStringList& list) -{ - if (!list.empty ()) - onFolderSelected (list.front ()); -} - -void -MakeDialog::onFolderSelected (const QString& filename) -{ - myFolder = Utils::removeTrailingDirSeparator (filename); - myFolderButton->setText (QFileInfo(myFolder).fileName()); - onSourceChanged (); -} - -void -MakeDialog::onDestinationClicked () -{ - QFileDialog * d = new QFileDialog (this, tr ("Select Folder")); - d->setFileMode (QFileDialog::Directory); - d->setOption (QFileDialog::ShowDirsOnly); - d->setAttribute (Qt::WA_DeleteOnClose); - connect (d, SIGNAL(filesSelected(QStringList)), - this, SLOT(onDestinationSelected(QStringList))); - d->show (); -} -void -MakeDialog::onDestinationSelected (const QStringList& list) -{ - if (!list.empty ()) - onDestinationSelected (list.front()); -} -void -MakeDialog::onDestinationSelected (const QString& filename) -{ - myDestination = Utils::removeTrailingDirSeparator (filename); - myDestinationButton->setText (QFileInfo(myDestination).fileName()); -} - -void -MakeDialog::enableBuddyWhenChecked (QRadioButton * box, QWidget * buddy) -{ - connect (box, SIGNAL(toggled(bool)), buddy, SLOT(setEnabled(bool))); - buddy->setEnabled (box->isChecked ()); -} -void -MakeDialog::enableBuddyWhenChecked (QCheckBox * box, QWidget * buddy) -{ - connect (box, SIGNAL(toggled(bool)), buddy, SLOT(setEnabled(bool))); - buddy->setEnabled (box->isChecked ()); -} - QString MakeDialog::getSource () const { - return myFileRadio->isChecked () ? myFile : myFolder; -} - -void -MakeDialog::onButtonBoxClicked (QAbstractButton * button) -{ - switch (myButtonBox->standardButton (button)) - { - case QDialogButtonBox::Ok: - makeTorrent (); - break; - - default: // QDialogButtonBox::Close: - deleteLater (); - break; - } + return (ui.sourceFileRadio->isChecked () ? ui.sourceFileButton : ui.sourceFolderButton)->path (); } /*** @@ -287,18 +188,14 @@ MakeDialog::onButtonBoxClicked (QAbstractButton * button) void MakeDialog::onSourceChanged () { - if (myBuilder) - { - tr_metaInfoBuilderFree (myBuilder); - myBuilder = 0; - } + myBuilder.reset (); const QString filename = getSource (); if (!filename.isEmpty ()) - myBuilder = tr_metaInfoBuilderCreate (filename.toUtf8().constData()); + myBuilder.reset (tr_metaInfoBuilderCreate (filename.toUtf8 ().constData ())); QString text; - if (!myBuilder) + if (myBuilder == nullptr) { text = tr ("No source selected"); } @@ -313,116 +210,35 @@ MakeDialog::onSourceChanged () .arg (Formatter::sizeToString (myBuilder->pieceSize)); } - mySourceLabel->setText (text); + ui.sourceSizeLabel->setText (text); } - -// bah, there doesn't seem to be any cleaner way to override -// QPlainTextEdit's default desire to be 12 lines tall -class ShortPlainTextEdit: public QPlainTextEdit -{ - public: - virtual ~ShortPlainTextEdit () {} - ShortPlainTextEdit (QWidget * parent = 0): QPlainTextEdit(parent) {} - virtual QSize sizeHint () const { return QSize (256, 50); } -}; - MakeDialog::MakeDialog (Session& session, QWidget * parent): QDialog (parent, Qt::Dialog), mySession (session), - myBuilder (0) + myBuilder (nullptr, &tr_metaInfoBuilderFree) { - setAcceptDrops (true); + ui.setupUi (this); - connect (&myTimer, SIGNAL(timeout()), this, SLOT(onProgress())); + ui.destinationButton->setMode (TrPathButton::DirectoryMode); + ui.destinationButton->setPath (QDir::homePath ()); - setWindowTitle (tr ("New Torrent")); - QVBoxLayout * top = new QVBoxLayout (this); - top->setSpacing (HIG::PAD); + ui.sourceFolderButton->setMode (TrPathButton::DirectoryMode); + ui.sourceFileButton->setMode (TrPathButton::FileMode); - HIG * hig = new HIG; - hig->setContentsMargins (0, 0, 0, 0); - hig->addSectionTitle (tr ("Files")); + connect (ui.sourceFolderRadio, SIGNAL (toggled (bool)), this, SLOT (onSourceChanged ())); + connect (ui.sourceFolderButton, SIGNAL (pathChanged (QString)), this, SLOT (onSourceChanged ())); + connect (ui.sourceFileRadio, SIGNAL (toggled (bool)), this, SLOT (onSourceChanged ())); + connect (ui.sourceFileButton, SIGNAL (pathChanged (QString)), this, SLOT (onSourceChanged ())); - QFileIconProvider iconProvider; - const int iconSize (style()->pixelMetric (QStyle::PM_SmallIconSize)); - const QIcon folderIcon = iconProvider.icon (QFileIconProvider::Folder); - const QPixmap folderPixmap = folderIcon.pixmap (iconSize); - QPushButton * b = new QPushButton; - b->setIcon (folderPixmap); - b->setStyleSheet (QString::fromUtf8 ("text-align: left; padding-left: 5; padding-right: 5")); - myDestination = QDir::homePath(); - b->setText (myDestination); - connect (b, SIGNAL(clicked(bool)), - this, SLOT(onDestinationClicked())); - myDestinationButton = b; - hig->addRow (tr ("Sa&ve to:"), b); + connect (ui.dialogButtons, SIGNAL (accepted ()), this, SLOT (makeTorrent ())); + connect (ui.dialogButtons, SIGNAL (rejected ()), this, SLOT (close ())); - myFolderRadio = new QRadioButton (tr ("Source F&older:")); - connect (myFolderRadio, SIGNAL(toggled(bool)), - this, SLOT(onSourceChanged())); - myFolderButton = new QPushButton; - myFolderButton->setIcon (folderPixmap); - myFolderButton->setText (tr ("(None)")); - myFolderButton->setStyleSheet (QString::fromUtf8 ("text-align: left; padding-left: 5; padding-right: 5")); - connect (myFolderButton, SIGNAL(clicked(bool)), - this, SLOT(onFolderClicked())); - hig->addRow (myFolderRadio, myFolderButton); - enableBuddyWhenChecked (myFolderRadio, myFolderButton); - - const QIcon fileIcon = iconProvider.icon (QFileIconProvider::File); - const QPixmap filePixmap = fileIcon.pixmap (iconSize); - myFileRadio = new QRadioButton (tr ("Source &File:")); - myFileRadio->setChecked (true); - connect (myFileRadio, SIGNAL(toggled(bool)), - this, SLOT(onSourceChanged())); - myFileButton = new QPushButton; - myFileButton->setText (tr ("(None)")); - myFileButton->setIcon (filePixmap); - myFileButton->setStyleSheet (QString::fromUtf8 ("text-align: left; padding-left: 5; padding-right: 5")); - connect (myFileButton, SIGNAL(clicked(bool)), - this, SLOT(onFileClicked())); - hig->addRow (myFileRadio, myFileButton); - enableBuddyWhenChecked (myFileRadio, myFileButton); - - mySourceLabel = new QLabel (this); - hig->addRow (tr (""), mySourceLabel); - - hig->addSectionDivider (); - hig->addSectionTitle (tr ("Properties")); - - hig->addWideControl (myTrackerEdit = new ShortPlainTextEdit); - const int height = fontMetrics().size (0, QString::fromUtf8("\n\n\n\n")).height (); - myTrackerEdit->setMinimumHeight (height); - hig->addTallRow (tr ("&Trackers:"), myTrackerEdit); - QLabel * l = new QLabel (tr ("To add a backup URL, add it on the line after the primary URL.\nTo add another primary URL, add it after a blank line.")); - l->setAlignment (Qt::AlignLeft); - hig->addRow (tr (""), l); - myTrackerEdit->resize (500, height); - - myCommentCheck = new QCheckBox (tr ("Co&mment")); - myCommentEdit = new QLineEdit (); - hig->addRow (myCommentCheck, myCommentEdit); - enableBuddyWhenChecked (myCommentCheck, myCommentEdit); - - myPrivateCheck = hig->addWideCheckBox (tr ("&Private torrent"), false); - - hig->finish (); - top->addWidget (hig, 1); - - myButtonBox = new QDialogButtonBox (QDialogButtonBox::Ok - | QDialogButtonBox::Close); - connect (myButtonBox, SIGNAL(clicked(QAbstractButton*)), - this, SLOT(onButtonBoxClicked(QAbstractButton*))); - - top->addWidget (myButtonBox); onSourceChanged (); } MakeDialog::~MakeDialog () { - if (myBuilder) - tr_metaInfoBuilderFree (myBuilder); } /*** @@ -434,27 +250,27 @@ MakeDialog::dragEnterEvent (QDragEnterEvent * event) { const QMimeData * mime = event->mimeData (); - if (mime->urls().size() && QFile(mime->urls().front().path()).exists ()) - event->acceptProposedAction(); + if (!mime->urls ().isEmpty () && QFileInfo (mime->urls ().front ().path ()).exists ()) + event->acceptProposedAction (); } void MakeDialog::dropEvent (QDropEvent * event) { - const QString filename = event->mimeData()->urls().front().path(); + const QString filename = event->mimeData ()->urls ().front ().path (); const QFileInfo fileInfo (filename); if (fileInfo.exists ()) { if (fileInfo.isDir ()) { - myFolderRadio->setChecked (true); - onFolderSelected (filename ); + ui.sourceFolderRadio->setChecked (true); + ui.sourceFolderButton->setPath (filename); } else // it's a file { - myFileRadio->setChecked (true); - onFileSelected (filename); + ui.sourceFileRadio->setChecked (true); + ui.sourceFileButton->setPath (filename); } } } diff --git a/qt/make-dialog.h b/qt/make-dialog.h index 494bab865..8cb5f8e5f 100644 --- a/qt/make-dialog.h +++ b/qt/make-dialog.h @@ -10,19 +10,15 @@ #ifndef MAKE_DIALOG_H #define MAKE_DIALOG_H +#include + #include -#include + +#include "ui_make-dialog.h" class QAbstractButton; -class QPlainTextEdit; -class QLineEdit; -class QCheckBox; -class QLabel; -class QPushButton; -class QRadioButton; + class Session; -class QProgressBar; -class QDialogButtonBox; extern "C" { @@ -35,52 +31,15 @@ class MakeDialog: public QDialog private slots: void onSourceChanged (); - void onButtonBoxClicked (QAbstractButton*); - void onNewButtonBoxClicked (QAbstractButton*); - void onNewDialogDestroyed (QObject*); - void onProgress (); - - void onFolderClicked (); - void onFolderSelected (const QString&); - void onFolderSelected (const QStringList&); - - void onFileClicked (); - void onFileSelected (const QString&); - void onFileSelected (const QStringList&); - - void onDestinationClicked (); - void onDestinationSelected (const QString&); - void onDestinationSelected (const QStringList&); + void makeTorrent (); private: - void makeTorrent (); QString getSource () const; - void enableBuddyWhenChecked (QCheckBox *, QWidget *); - void enableBuddyWhenChecked (QRadioButton *, QWidget *); private: Session& mySession; - QString myDestination; - QString myTarget; - QString myFile; - QString myFolder; - QTimer myTimer; - QRadioButton * myFolderRadio; - QRadioButton * myFileRadio; - QPushButton * myDestinationButton; - QPushButton * myFileButton; - QPushButton * myFolderButton; - QPlainTextEdit * myTrackerEdit; - QCheckBox * myCommentCheck; - QLineEdit * myCommentEdit; - QCheckBox * myPrivateCheck; - QLabel * mySourceLabel; - QDialogButtonBox * myButtonBox; - QProgressBar * myNewProgress; - QLabel * myNewLabel; - QDialogButtonBox * myNewButtonBox; - QDialog * myNewDialog; - tr_metainfo_builder * myBuilder; + Ui::MakeDialog ui; + std::unique_ptr myBuilder; protected: virtual void dragEnterEvent (QDragEnterEvent *); @@ -88,7 +47,7 @@ class MakeDialog: public QDialog public: MakeDialog (Session&, QWidget * parent = 0); - ~MakeDialog (); + virtual ~MakeDialog (); }; #endif diff --git a/qt/make-dialog.ui b/qt/make-dialog.ui new file mode 100644 index 000000000..ad86571e6 --- /dev/null +++ b/qt/make-dialog.ui @@ -0,0 +1,254 @@ + + + MakeDialog + + + + 0 + 0 + 566 + 417 + + + + true + + + New Torrent + + + [tr-style~="form-section"] +{ + font-weight: bold; + margin-top: 12px; + margin-bottom: 1px; +} +[tr-style~="form-section"][tr-style~="first"] +{ + margin-top: 0; +} +[tr-style~="form-label"] +{ + margin-left: 18px; +} + + + + + + Files + + + form-section first + + + + + + + Sa&ve to: + + + destinationButton + + + form-label + + + + + + + Qt::ToolButtonTextBesideIcon + + + + + + + Source f&older: + + + form-label + + + + + + + false + + + Qt::ToolButtonTextBesideIcon + + + + + + + Source &file: + + + true + + + form-label + + + + + + + Qt::ToolButtonTextBesideIcon + + + + + + + ... + + + + + + + Properties + + + form-section + + + + + + + &Trackers: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + trackersEdit + + + form-label + + + + + + + true + + + QPlainTextEdit::NoWrap + + + + + + + To add a backup URL, add it on the line after the primary URL. +To add another primary URL, add it after a blank line. + + + + + + + Co&mment: + + + form-label + + + + + + + false + + + + + + + &Private torrent + + + form-label + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Close|QDialogButtonBox::Ok + + + + + + + + TrPathButton + QToolButton +
path-button.h
+
+
+ + + + commentCheck + toggled(bool) + commentEdit + setEnabled(bool) + + + 76 + 333 + + + 360 + 333 + + + + + sourceFolderRadio + toggled(bool) + sourceFolderButton + setEnabled(bool) + + + 72 + 83 + + + 360 + 82 + + + + + sourceFileRadio + toggled(bool) + sourceFileButton + setEnabled(bool) + + + 72 + 119 + + + 360 + 118 + + + + +
diff --git a/qt/make-progress-dialog.ui b/qt/make-progress-dialog.ui new file mode 100644 index 000000000..ddc70021b --- /dev/null +++ b/qt/make-progress-dialog.ui @@ -0,0 +1,50 @@ + + + MakeProgressDialog + + + + 0 + 0 + 424 + 101 + + + + New Torrent + + + + QLayout::SetFixedSize + + + + + + 400 + 0 + + + + ... + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Abort|QDialogButtonBox::Ok|QDialogButtonBox::Open + + + + + + + + diff --git a/qt/options.cc b/qt/options.cc index 18c8d8c0c..e755ee031 100644 --- a/qt/options.cc +++ b/qt/options.cc @@ -7,8 +7,6 @@ * $Id$ */ -#include -#include #include #include diff --git a/qt/path-button.cc b/qt/path-button.cc index ea37f7bea..278e58790 100644 --- a/qt/path-button.cc +++ b/qt/path-button.cc @@ -22,6 +22,8 @@ TrPathButton::TrPathButton (QWidget * parent): myNameFilter (), myPath () { + setSizePolicy(QSizePolicy (QSizePolicy::Preferred, QSizePolicy::Fixed)); + updateAppearance (); connect (this, SIGNAL (clicked ()), this, SLOT (onClicked ())); diff --git a/qt/qtr.pro b/qt/qtr.pro index 4ff70a0ad..6ca78e7e2 100644 --- a/qt/qtr.pro +++ b/qt/qtr.pro @@ -49,6 +49,8 @@ TRANSLATIONS += translations/transmission_en.ts \ FORMS += about.ui \ details.ui \ mainwin.ui \ + make-dialog.ui \ + make-progress-dialog.ui \ options.ui \ relocate.ui \ session-dialog.ui \ diff --git a/qt/translations/transmission_en.ts b/qt/translations/transmission_en.ts index 87ce56a4c..98e6706c8 100644 --- a/qt/translations/transmission_en.ts +++ b/qt/translations/transmission_en.ts @@ -1268,54 +1268,12 @@ MakeDialog - - Creating "%1" - - - - - Created "%1"! - - - - - Error: invalid announce URL "%1" - - - - - Cancelled - - - - - Error reading "%1": %2 - - - - - Error writing "%1": %2 - - - - - + New Torrent - - Select File - - - - - - Select Folder - - - - + <i>No source selected<i> @@ -1341,58 +1299,90 @@ - + Files - + Sa&ve to: - - Source F&older: + + Source f&older: - - - (None) + + Source &file: - - Source &File: - - - - + Properties - + &Trackers: - + To add a backup URL, add it on the line after the primary URL. To add another primary URL, add it after a blank line. - - Co&mment + + Co&mment: - + &Private torrent + + MakeProgressDialog + + + New Torrent + + + + + Creating "%1" + + + + + Created "%1"! + + + + + Error: invalid announce URL "%1" + + + + + Cancelled + + + + + Error reading "%1": %2 + + + + + Error writing "%1": %2 + + + MyApp @@ -1424,7 +1414,7 @@ To add another primary URL, add it after a blank line. OptionsDialog - + Open Torrent @@ -2384,7 +2374,7 @@ To add another primary URL, add it after a blank line. - + Torrent Files (*.torrent);;All Files (*.*) @@ -2399,7 +2389,7 @@ To add another primary URL, add it after a blank line. - + Speed Limits @@ -2426,7 +2416,7 @@ To add another primary URL, add it after a blank line. - + Remove torrent? @@ -2524,7 +2514,7 @@ To add another primary URL, add it after a blank line. TrPathButton - + (None) diff --git a/qt/translations/transmission_es.ts b/qt/translations/transmission_es.ts index 2f8395bd1..0ded45f65 100644 --- a/qt/translations/transmission_es.ts +++ b/qt/translations/transmission_es.ts @@ -1269,54 +1269,12 @@ MakeDialog - - Creating "%1" - Creando "%1" - - - - Created "%1"! - ¡"%1" Creado! - - - - Error: invalid announce URL "%1" - Error: URL para anuncio invalido "%1" - - - - Cancelled - Cancelado - - - - Error reading "%1": %2 - Error leyendo "%1": %2 - - - - Error writing "%1": %2 - Error escribiendo "%1": %2 - - - - + New Torrent Nuevo torrent - - Select File - Seleccione archivo - - - - - Select Folder - Seleccione folder - - - + <i>No source selected<i> <i>No se seleccionó la fuente<i> @@ -1342,59 +1300,91 @@ %1 en %2; %3 @ %4 - + Files Archivos - + Sa&ve to: &Guardar en: - - Source F&older: + + Source f&older: &Folder fuente: - - - (None) - (Ninguno) - - - - Source &File: + + Source &file: &Archivo fuente: - + Properties Propiedades - + &Trackers: &Seguidores - + To add a backup URL, add it on the line after the primary URL. To add another primary URL, add it after a blank line. Para agregar una URL de respaldo, agreguela en la línea siguiente al URL primario. Para agregar otro URL primario, agrueguelo después de una línea en blanco. - - Co&mment - Co&mentario + + Co&mment: + Co&mentario: - + &Private torrent Torrent &Privado + + MakeProgressDialog + + + New Torrent + Nuevo torrent + + + + Creating "%1" + Creando "%1" + + + + Created "%1"! + ¡"%1" Creado! + + + + Error: invalid announce URL "%1" + Error: URL para anuncio invalido "%1" + + + + Cancelled + Cancelado + + + + Error reading "%1": %2 + Error leyendo "%1": %2 + + + + Error writing "%1": %2 + Error escribiendo "%1": %2 + + MyApp @@ -1426,7 +1416,7 @@ Para agregar otro URL primario, agrueguelo después de una línea en blanco. OptionsDialog - + Open Torrent Abrir Torrent @@ -2390,7 +2380,7 @@ Para agregar otro URL primario, agrueguelo después de una línea en blanco.Bajada: %1, Subida: %2 - + Open Torrent Abrir Torrent @@ -2425,7 +2415,7 @@ Para agregar otro URL primario, agrueguelo después de una línea en blanco.Archivos de torrent (*.torrent);;Todos los archivos (*.*) - + Speed Limits Límites de velocidad @@ -2452,7 +2442,7 @@ Para agregar otro URL primario, agrueguelo después de una línea en blanco. - + Show &options dialog Mostar diálogo de &opciones @@ -2530,7 +2520,7 @@ Para agregar otro URL primario, agrueguelo después de una línea en blanco. TrPathButton - + (None) (Ninguno) diff --git a/qt/translations/transmission_eu.ts b/qt/translations/transmission_eu.ts index 31f74794e..0880d111a 100644 --- a/qt/translations/transmission_eu.ts +++ b/qt/translations/transmission_eu.ts @@ -1267,54 +1267,12 @@ MakeDialog - - Creating "%1" - "%1" sortzen - - - - Created "%1"! - "%1" sortuta! - - - - Error: invalid announce URL "%1" - Akatsa: iragarpen URL baliogabea "%1" - - - - Cancelled - Ezeztatuta - - - - Error reading "%1": %2 - Akatsa irakurtzen "%1": %2 - - - - Error writing "%1": %2 - Akatsa idazten "%1": %2 - - - - + New Torrent Torrent Berria - - Select File - Hautatu Agiria - - - - - Select Folder - Hautatu Agiritegia - - - + <i>No source selected<i> <i>Ez dago iturbururik hautatuta<i> @@ -1340,59 +1298,91 @@ %1 -> %2; %3 @ %4 - + Files Agiriak - + Sa&ve to: &Gorde hemen: - - Source F&older: - &Iturburu Agiritegia: + + Source f&older: + &Iturburu agiritegia: - - - (None) - (Ezer ez) - - - - Source &File: + + Source &file: I&turburu Agiria: - + Properties Ezaugarriak - + &Trackers: A&ztarnariak: - + To add a backup URL, add it on the line after the primary URL. To add another primary URL, add it after a blank line. Babeskopia URL bat gehitzeko, gehitu hura lehen URL-aren ondorengo lerroan. Beste lehen URL bat gehitzeko, gehitu hura lerro huts baten ondoren. - - Co&mment - &Aipamena + + Co&mment: + &Aipamena: - + &Private torrent &Torrent pribatua + + MakeProgressDialog + + + New Torrent + Torrent Berria + + + + Creating "%1" + "%1" sortzen + + + + Created "%1"! + "%1" sortuta! + + + + Error: invalid announce URL "%1" + Akatsa: iragarpen URL baliogabea "%1" + + + + Cancelled + Ezeztatuta + + + + Error reading "%1": %2 + Akatsa irakurtzen "%1": %2 + + + + Error writing "%1": %2 + Akatsa idazten "%1": %2 + + MyApp @@ -1424,7 +1414,7 @@ Beste lehen URL bat gehitzeko, gehitu hura lerro huts baten ondoren. OptionsDialog - + Open Torrent Ireki Torrenta @@ -2384,7 +2374,7 @@ Beste lehen URL bat gehitzeko, gehitu hura lerro huts baten ondoren.Jeisketa: %1, Igoera: %2 - + Torrent Files (*.torrent);;All Files (*.*) Torrent Agiriak (*.torrent);;Agiri Guzitak (*.*) @@ -2399,7 +2389,7 @@ Beste lehen URL bat gehitzeko, gehitu hura lerro huts baten ondoren.Ireki Torrenta - + Speed Limits Abiadura Mugak @@ -2428,7 +2418,7 @@ Beste lehen URL bat gehitzeko, gehitu hura lerro huts baten ondoren. - + Remove torrent? Kendu torrenta? @@ -2526,7 +2516,7 @@ Beste lehen URL bat gehitzeko, gehitu hura lerro huts baten ondoren. TrPathButton - + (None) (Ezer ez) diff --git a/qt/translations/transmission_fr.ts b/qt/translations/transmission_fr.ts index f7fab0f69..4e4af4e77 100644 --- a/qt/translations/transmission_fr.ts +++ b/qt/translations/transmission_fr.ts @@ -1267,54 +1267,12 @@ MakeDialog - - Creating "%1" - Création de "%1" - - - - Created "%1"! - "%1" créé! - - - - Error: invalid announce URL "%1" - Erreur: URL d'annonce invalide "%1" - - - - Cancelled - Annulé - - - - Error reading "%1": %2 - Erreur de lecture "%1": %2 - - - - Error writing "%1": %2 - Erreur d'écriture "%1": %2 - - - - + New Torrent Nouveau Torrent - - Select File - Sélectionner le fichier - - - - - Select Folder - Sélectionner le dossier - - - + <i>No source selected<i> <i>Pas de source seléctionnée<i> @@ -1340,59 +1298,91 @@ %1 sur %2; %3 @ %4 - + Files Fichiers - + Sa&ve to: S&auvegarder vers: - - Source F&older: + + Source f&older: Répert&oire source: - - - (None) - (Aucun) - - - - Source &File: + + Source &file: &Fichier source: - + Properties Propriétés - + &Trackers: &Traqueurs: - + To add a backup URL, add it on the line after the primary URL. To add another primary URL, add it after a blank line. "Pour ajouter une URL de secours, placez-la sur la ligne après l'URL primaire. Pour ajouter une autre URL primaire, placez-la après une ligne vide. - - Co&mment - Co&mmentaire + + Co&mment: + Co&mmentaire: - + &Private torrent &Torrent privé + + MakeProgressDialog + + + New Torrent + Nouveau Torrent + + + + Creating "%1" + Création de "%1" + + + + Created "%1"! + "%1" créé! + + + + Error: invalid announce URL "%1" + Erreur: URL d'annonce invalide "%1" + + + + Cancelled + Annulé + + + + Error reading "%1": %2 + Erreur de lecture "%1": %2 + + + + Error writing "%1": %2 + Erreur d'écriture "%1": %2 + + MyApp @@ -1424,7 +1414,7 @@ Pour ajouter une autre URL primaire, placez-la après une ligne vide. OptionsDialog - + Open Torrent Ouvrir un torrent @@ -2391,7 +2381,7 @@ Pour ajouter une autre URL primaire, placez-la après une ligne vide.Réception: %1, Envoi: %2 - + Torrent Files (*.torrent);;All Files (*.*) Fichiers Torrent (*.torrent);;Tous les fichiers (*.*) @@ -2406,7 +2396,7 @@ Pour ajouter une autre URL primaire, placez-la après une ligne vide.Ouvrir un torrent - + Network Error @@ -2430,7 +2420,7 @@ Pour ajouter une autre URL primaire, placez-la après une ligne vide. - + Remove torrent? Enlever le torrent? @@ -2528,7 +2518,7 @@ Pour ajouter une autre URL primaire, placez-la après une ligne vide. TrPathButton - + (None) (Aucun) diff --git a/qt/translations/transmission_hu.ts b/qt/translations/transmission_hu.ts index 75c34d9f8..de971e3b0 100644 --- a/qt/translations/transmission_hu.ts +++ b/qt/translations/transmission_hu.ts @@ -1259,54 +1259,12 @@ MakeDialog - - Creating "%1" - "%1" létrehozás alatt - - - - Created "%1"! - "%1" létrehozva! - - - - Error: invalid announce URL "%1" - Hibás announce URL: "%1" - - - - Cancelled - Megszakítva - - - - Error reading "%1": %2 - "%2" hiba történt a(z) "%1" olvasásakor - - - - Error writing "%1": %2 - "%2" hiba történt a(z) "%1" írásakor - - - - + New Torrent Új Torrent - - Select File - Fájl kiválasztása - - - - - Select Folder - Mapp kiválasztása - - - + <i>No source selected<i> <i>Nincs forrás kiválasztva<i> @@ -1330,59 +1288,91 @@ %1 in %2; %3 @ %4 - + Files Fájlok - + Sa&ve to: Mentés &ide: - - Source F&older: + + Source f&older: Forrás&mappa: - - - (None) - (Nincs) - - - - Source &File: + + Source &file: &Forrásfájl: - + Properties Tulajdonságok - + &Trackers: &Trackerek: - + To add a backup URL, add it on the line after the primary URL. To add another primary URL, add it after a blank line. Ha tartalék URL-t kívánsz hozzáadni írd azt az elsődleges után vele egy sorba. Másik elsődleges URL-t új sorba írva adhatsz hozzá. - - Co&mment - Megje&gyzés + + Co&mment: + Megje&gyzés: - + &Private torrent &Privát torrent + + MakeProgressDialog + + + New Torrent + Új Torrent + + + + Creating "%1" + "%1" létrehozás alatt + + + + Created "%1"! + "%1" létrehozva! + + + + Error: invalid announce URL "%1" + Hibás announce URL: "%1" + + + + Cancelled + Megszakítva + + + + Error reading "%1": %2 + "%2" hiba történt a(z) "%1" olvasásakor + + + + Error writing "%1": %2 + "%2" hiba történt a(z) "%1" írásakor + + MyApp @@ -1414,7 +1404,7 @@ Másik elsődleges URL-t új sorba írva adhatsz hozzá. OptionsDialog - + Open Torrent Torrent megnyitása @@ -2371,7 +2361,7 @@ Másik elsődleges URL-t új sorba írva adhatsz hozzá. Le: %1, Fel: %2 - + Open Torrent Torrent megnyitása @@ -2386,7 +2376,7 @@ Másik elsődleges URL-t új sorba írva adhatsz hozzá. &Opciók ablak megjelenítése - + Network Error @@ -2408,7 +2398,7 @@ Másik elsődleges URL-t új sorba írva adhatsz hozzá. - + Remove torrent? Valóban törölni kívánod a torrentet? @@ -2506,7 +2496,7 @@ Másik elsődleges URL-t új sorba írva adhatsz hozzá. TrPathButton - + (None) (Nincs) diff --git a/qt/translations/transmission_kk.ts b/qt/translations/transmission_kk.ts index 8ee9a9f86..0a48a8317 100644 --- a/qt/translations/transmission_kk.ts +++ b/qt/translations/transmission_kk.ts @@ -1268,54 +1268,12 @@ MakeDialog - - Creating "%1" - Жасалуда %1 - - - - Created "%1"! - Жасалды %1! - - - - Error: invalid announce URL "%1" - Қате: дүрыс емес анонс URL-ы %1 - - - - Cancelled - Бас тартылды - - - - Error reading "%1": %2 - "%1" оқу қатесі: %2 - - - - Error writing "%1": %2 - "%1" жазу қатесі: %2 - - - - + New Torrent Жаңа торрент - - Select File - Файлдан жасау - - - - - Select Folder - Бумадан жасау - - - + <i>No source selected<i> <i>Көзі таңдалмаған</i> @@ -1341,59 +1299,91 @@ - + Files Файлдар - + Sa&ve to: Қа&йда сақтау: - - Source F&older: + + Source f&older: Бу&мадан жасау: - - - (None) - (Ешнәрсе) - - - - Source &File: + + Source &file: Фай&лдан жасау: - + Properties Қасиеттері - + &Trackers: &Трекерлер: - + To add a backup URL, add it on the line after the primary URL. To add another primary URL, add it after a blank line. Қор URL-ын қосу үшін оны бастапқы URL жолынан кейін қосыңыз. Басқа бастапқы URL қосу үшін оны бір бос жолдан кейін қосыңыз. - - Co&mment - К&омментарийі + + Co&mment: + К&омментарийі: - + &Private torrent &Жабық торрент + + MakeProgressDialog + + + New Torrent + Жаңа торрент + + + + Creating "%1" + Жасалуда %1 + + + + Created "%1"! + Жасалды %1! + + + + Error: invalid announce URL "%1" + Қате: дүрыс емес анонс URL-ы %1 + + + + Cancelled + Бас тартылды + + + + Error reading "%1": %2 + "%1" оқу қатесі: %2 + + + + Error writing "%1": %2 + "%1" жазу қатесі: %2 + + MyApp @@ -1425,7 +1415,7 @@ To add another primary URL, add it after a blank line. OptionsDialog - + Open Torrent @@ -2385,7 +2375,7 @@ To add another primary URL, add it after a blank line. Қабылданған: %1, Таратылған: %2 - + Torrent Files (*.torrent);;All Files (*.*) @@ -2400,7 +2390,7 @@ To add another primary URL, add it after a blank line. - + Speed Limits Жылдамдықты шектеу @@ -2427,7 +2417,7 @@ To add another primary URL, add it after a blank line. - + Remove torrent? Торрентт(ерд)і өшіру керек пе? @@ -2525,7 +2515,7 @@ To add another primary URL, add it after a blank line. TrPathButton - + (None) (Ешнәрсе) diff --git a/qt/translations/transmission_lt.ts b/qt/translations/transmission_lt.ts index 6458e12f2..3cd611541 100644 --- a/qt/translations/transmission_lt.ts +++ b/qt/translations/transmission_lt.ts @@ -1275,7 +1275,7 @@ MakeDialog - + %1 in %2; %3 @ %4 %1, %2; %3 po %4 @@ -1298,111 +1298,101 @@ - + &Private torrent &Privatus torentas - + &Trackers: &Sekikliai: - - - (None) - (Joks) - - - + <i>No source selected<i> <i>Nepasirinktas šaltinis</i> - - Cancelled - Atsisakyta + + Co&mment: + &Komentaras: - - Co&mment - &Komentaras - - - - Created "%1"! - Sukurtas „%1“! - - - - Creating "%1" - Kuriamas „%1“ - - - - Error reading "%1": %2 - Klaida skaitant „%1“: %2 - - - - Error writing "%1": %2 - Klaida rašant „%1“: %2 - - - - Error: invalid announce URL "%1" - Klaida: netinkamas pranešimo URL „%1“ - - - + Files Failai - - + New Torrent Naujas torentas - + Properties Savybės - + Sa&ve to: Į&rašyti į: - - Select File - Parinkite failą - - - - - Select Folder - Parinkite aplanką - - - - Source &File: + + Source &file: Šaltinio &failas: - - Source F&older: + + Source f&older: Šaltinio &aplankas: - + To add a backup URL, add it on the line after the primary URL. To add another primary URL, add it after a blank line. Atsarginį URL adresą veskite atskiroje eilutėje po pirminiu URL adresu. Papildomą pirminį URL adresą galite įvesti, palikę prieš jį tuščią eilutę. + + MakeProgressDialog + + + New Torrent + Naujas torentas + + + + Creating "%1" + Kuriamas „%1“ + + + + Created "%1"! + Sukurtas „%1“! + + + + Error: invalid announce URL "%1" + Klaida: netinkamas pranešimo URL „%1“ + + + + Cancelled + Atsisakyta + + + + Error reading "%1": %2 + Klaida skaitant „%1“: %2 + + + + Error writing "%1": %2 + Klaida rašant „%1“: %2 + + MyApp @@ -1439,7 +1429,7 @@ Papildomą pirminį URL adresą galite įvesti, palikę prieš jį tuščią eil Paskirties &aplankas: - + &Verify Local Data Pa&tikrinti turimus duomenis @@ -2363,7 +2353,7 @@ Papildomą pirminį URL adresą galite įvesti, palikę prieš jį tuščią eil Ribojama iki %1 - + Once removed, continuing the transfers will require the torrent files or magnet links. Jeigu pašalinsite, norint tęsti siuntimus, jums prireiks atitinkamų torentų failų arba magnet nuorodų. @@ -2378,13 +2368,13 @@ Papildomą pirminį URL adresą galite įvesti, palikę prieš jį tuščią eil Atverti torentą - + Ratio: %1 Santykis: %1 - + Remove %1 torrents? Pašalinti %1 torentus(-ų)? @@ -2419,22 +2409,22 @@ Papildomą pirminį URL adresą galite įvesti, palikę prieš jį tuščią eil Šie torentai prisijungę prie siuntėjų. - + Seed Forever Skleisti visada - + Show &options dialog Rodyti &parinkčių langą - + - %1:%2 - %1:%2 - + Delete these %1 torrents' downloaded files? Pašalinti šių %1 torentų atsiųstus failus? @@ -2444,7 +2434,7 @@ Papildomą pirminį URL adresą galite įvesti, palikę prieš jį tuščią eil Pašalinti šio torento atsiųstus failus? - + Speed Limits Greičio ribojimai @@ -2477,7 +2467,7 @@ Papildomą pirminį URL adresą galite įvesti, palikę prieš jį tuščią eil - + Once removed, continuing the transfer will require the torrent file or magnet link. Jeigu pašalinsite, norint tęsti siuntimą, jums prireiks torento failo arba magnet nuorodos. @@ -2487,7 +2477,7 @@ Papildomą pirminį URL adresą galite įvesti, palikę prieš jį tuščią eil Vienas šių torentų dar neatsiųstas. - + Stop Seeding at Ratio Nebeskleisti esant santykiui @@ -2498,7 +2488,7 @@ Papildomą pirminį URL adresą galite įvesti, palikę prieš jį tuščią eil Nebeskleisti esant santykiui (%1) - + These torrents have not finished downloading. Šie torentai dar neatsiųsti. @@ -2508,13 +2498,13 @@ Papildomą pirminį URL adresą galite įvesti, palikę prieš jį tuščią eil Šis torentas dar neatsiųstas. - + Unlimited Be ribojimų - + %1 has not responded yet @@ -2542,7 +2532,7 @@ Papildomą pirminį URL adresą galite įvesti, palikę prieš jį tuščią eil TrPathButton - + (None) (Joks) diff --git a/qt/translations/transmission_pt_BR.ts b/qt/translations/transmission_pt_BR.ts index 7f4b8bf9b..771c517df 100644 --- a/qt/translations/transmission_pt_BR.ts +++ b/qt/translations/transmission_pt_BR.ts @@ -1268,54 +1268,12 @@ MakeDialog - - Creating "%1" - Criando "%1" - - - - Created "%1"! - "%1" Criado! - - - - Error: invalid announce URL "%1" - Erro: URL de anúncio inválida "%1" - - - - Cancelled - Cancelado - - - - Error reading "%1": %2 - Erro na leitura de "%1": %2 - - - - Error writing "%1": %2 - Erro na gravação de "%1": %2 - - - - + New Torrent Novo Torrent - - Select File - Selecionar Arquivo - - - - - Select Folder - Selecionar Pasta - - - + <i>No source selected<i> <i>Nenhuma fonte selecionada<i> @@ -1341,59 +1299,91 @@ %1 em %2; %3 @ %4 - + Files Arquivos - + Sa&ve to: Salvar em: - - Source F&older: - Pasta Fonte: + + Source f&older: + Pasta fonte: - - - (None) - (Nenhuma) - - - - Source &File: + + Source &file: Arquivo Fonte: - + Properties Propriedades - + &Trackers: Rastreadores: - + To add a backup URL, add it on the line after the primary URL. To add another primary URL, add it after a blank line. Adicione uma URL reserva na linha após a primária. Adicione outra URL primária depois de uma linha em branco. - - Co&mment - Comentário + + Co&mment: + Comentário: - + &Private torrent Torrent Privado + + MakeProgressDialog + + + New Torrent + Novo Torrent + + + + Creating "%1" + Criando "%1" + + + + Created "%1"! + "%1" Criado! + + + + Error: invalid announce URL "%1" + Erro: URL de anúncio inválida "%1" + + + + Cancelled + Cancelado + + + + Error reading "%1": %2 + Erro na leitura de "%1": %2 + + + + Error writing "%1": %2 + Erro na gravação de "%1": %2 + + MyApp @@ -1425,7 +1415,7 @@ Adicione outra URL primária depois de uma linha em branco. OptionsDialog - + Open Torrent @@ -2385,7 +2375,7 @@ Adicione outra URL primária depois de uma linha em branco. Baixado: %1 - Enviado: %2 - + Torrent Files (*.torrent);;All Files (*.*) Arquivos Torrent (*.torrent);;Todos os Arquivos (*.*) @@ -2400,7 +2390,7 @@ Adicione outra URL primária depois de uma linha em branco. - + Speed Limits Limites de Velocidade @@ -2427,7 +2417,7 @@ Adicione outra URL primária depois de uma linha em branco. - + Remove torrent? Remover torrent? @@ -2525,7 +2515,7 @@ Adicione outra URL primária depois de uma linha em branco. TrPathButton - + (None) (Nenhuma) diff --git a/qt/translations/transmission_ru.ts b/qt/translations/transmission_ru.ts index 961c02561..85a0ecc79 100644 --- a/qt/translations/transmission_ru.ts +++ b/qt/translations/transmission_ru.ts @@ -1276,54 +1276,12 @@ MakeDialog - - Creating "%1" - Создание "%1" - - - - Created "%1"! - Создан "%1"! - - - - Error: invalid announce URL "%1" - Ошибка: неверный URL-адрес объявлений "%1" - - - - Cancelled - Отменено - - - - Error reading "%1": %2 - Ошибка чтения "%1": %2 - - - - Error writing "%1": %2 - Ошибка записи "%1": %2 - - - - + New Torrent Создание нового торрента - - Select File - Выбор файла - - - - - Select Folder - Выбор папки - - - + <i>No source selected<i> <i>Не выбраны исходные данные<i> @@ -1351,59 +1309,91 @@ %1 в %2; %3 @ %4 - + Files Файлы - + Sa&ve to: &Сохранить в папку: - - Source F&older: + + Source f&older: Исходный к&аталог: - - - (None) - (Не выбран) - - - - Source &File: + + Source &file: &Исходный файл: - + Properties Свойства - + &Trackers: &Трекеры: - + To add a backup URL, add it on the line after the primary URL. To add another primary URL, add it after a blank line. Чтобы добавить резервный URL, добавьте его после основного URL в той же строке. Чтобы добавить ещё один основной URL, добавьте его в новой строке. - - Co&mment - &Комментарий + + Co&mment: + &Комментарий: - + &Private torrent &Закрытый торрент + + MakeProgressDialog + + + New Torrent + Создание нового торрента + + + + Creating "%1" + Создание "%1" + + + + Created "%1"! + Создан "%1"! + + + + Error: invalid announce URL "%1" + Ошибка: неверный URL-адрес объявлений "%1" + + + + Cancelled + Отменено + + + + Error reading "%1": %2 + Ошибка чтения "%1": %2 + + + + Error writing "%1": %2 + Ошибка записи "%1": %2 + + MyApp @@ -1435,7 +1425,7 @@ To add another primary URL, add it after a blank line. OptionsDialog - + Open Torrent Открытие файла @@ -2403,12 +2393,12 @@ To add another primary URL, add it after a blank line. Принято: %1, Роздано: %2 - + Open Torrent Открытие файла - + Speed Limits Ограничения скорости @@ -2435,7 +2425,7 @@ To add another primary URL, add it after a blank line. - + Torrent Files (*.torrent);;All Files (*.*) Торрент-файлы (*.torrent);;Все файлы (*.*) @@ -2543,7 +2533,7 @@ To add another primary URL, add it after a blank line. TrPathButton - + (None) (Не выбран) diff --git a/qt/translations/transmission_uk.ts b/qt/translations/transmission_uk.ts index 1f37bb4bb..1156ed471 100644 --- a/qt/translations/transmission_uk.ts +++ b/qt/translations/transmission_uk.ts @@ -1276,54 +1276,12 @@ MakeDialog - - Creating "%1" - Створюється «%1» - - - - Created "%1"! - «%1» створено! - - - - Error: invalid announce URL "%1" - Помилка: пошкоджена адреса оголошень «%1» - - - - Cancelled - Скасовано - - - - Error reading "%1": %2 - Не вдалося прочитати «%1»: %2 - - - - Error writing "%1": %2 - Не вдалося записати «%1»: %2 - - - - + New Torrent Новий торент - - Select File - Обрати файл - - - - - Select Folder - Обрати теку - - - + <i>No source selected<i> <i>Не вказано джерела<i> @@ -1351,59 +1309,91 @@ %1 у %2; %3 @ %4 - + Files Файли - + Sa&ve to: З&берегти до: - - Source F&older: + + Source f&older: Тека з &даними: - - - (None) - (Нічого) - - - - Source &File: + + Source &file: &Файл даних: - + Properties Властивості - + &Trackers: &Трекери: - + To add a backup URL, add it on the line after the primary URL. To add another primary URL, add it after a blank line. Резервну адресу додавайте після основної. Щоб додати нову основну адресу, допишіть її після порожнього рядка. - - Co&mment - Ком&ентар + + Co&mment: + Ком&ентар: - + &Private torrent &Приватний торент + + MakeProgressDialog + + + New Torrent + Новий торент + + + + Creating "%1" + Створюється «%1» + + + + Created "%1"! + «%1» створено! + + + + Error: invalid announce URL "%1" + Помилка: пошкоджена адреса оголошень «%1» + + + + Cancelled + Скасовано + + + + Error reading "%1": %2 + Не вдалося прочитати «%1»: %2 + + + + Error writing "%1": %2 + Не вдалося записати «%1»: %2 + + MyApp @@ -1435,7 +1425,7 @@ To add another primary URL, add it after a blank line. OptionsDialog - + Open Torrent Відкрити торент @@ -2403,7 +2393,7 @@ To add another primary URL, add it after a blank line. Завн: %1, Пошир: %2 - + Torrent Files (*.torrent);;All Files (*.*) Торент файли (*.torrent);;Всі файли (*.*) @@ -2418,7 +2408,7 @@ To add another primary URL, add it after a blank line. Відкрити торент - + Speed Limits Обмеження швидкості @@ -2447,7 +2437,7 @@ To add another primary URL, add it after a blank line. (%1 завантаження, %2 поширення) - + Remove torrent? Вилучити торент? @@ -2545,7 +2535,7 @@ To add another primary URL, add it after a blank line. TrPathButton - + (None) (Нічого)