1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-25 09:13:06 +00:00
transmission/qt/RelocateDialog.cc
Mike Gelfand 971cc6d2d9 Remove context help button from dialogs on Windows
We don't currently (if ever) provide context help, so the button is
useless. Moreover, on Windows 10 it's even larger than before and
sometimes title text doesn't fit because of it.
2015-09-01 20:19:26 +00:00

93 lines
2.4 KiB
C++

/*
* This file Copyright (C) 2009-2015 Mnemosyne LLC
*
* It may be used under the GNU GPL versions 2 or 3
* or any future license endorsed by Mnemosyne LLC.
*
* $Id$
*/
#include <QDir>
#include "RelocateDialog.h"
#include "Session.h"
#include "Torrent.h"
#include "TorrentModel.h"
bool RelocateDialog::myMoveFlag = true;
void
RelocateDialog::onSetLocation ()
{
mySession.torrentSetLocation (myIds, newLocation (), myMoveFlag);
close ();
}
void
RelocateDialog::onMoveToggled (bool b)
{
myMoveFlag = b;
}
RelocateDialog::RelocateDialog (Session & session,
const TorrentModel & model,
const QSet<int> & ids,
QWidget * parent):
BaseDialog (parent),
mySession (session),
myIds (ids)
{
ui.setupUi (this);
QString path;
for (const int id: myIds)
{
const Torrent * tor = model.getTorrentFromId (id);
if (path.isEmpty ())
{
path = tor->getPath ();
}
else if (path != tor->getPath ())
{
if (mySession.isServer ())
path = QDir::homePath ();
else
path = QDir::rootPath ();
break;
}
}
if (mySession.isServer ())
{
ui.newLocationStack->setCurrentWidget (ui.newLocationButton);
ui.newLocationButton->setMode (PathButton::DirectoryMode);
ui.newLocationButton->setTitle (tr ("Select Location"));
ui.newLocationButton->setPath (path);
}
else
{
ui.newLocationStack->setCurrentWidget (ui.newLocationEdit);
ui.newLocationEdit->setText (path);
ui.newLocationEdit->selectAll ();
}
ui.newLocationStack->setFixedHeight (ui.newLocationStack->currentWidget ()->sizeHint ().height ());
ui.newLocationLabel->setBuddy (ui.newLocationStack->currentWidget ());
if (myMoveFlag)
ui.moveDataRadio->setChecked (true);
else
ui.findDataRadio->setChecked (true);
connect (ui.moveDataRadio, SIGNAL (toggled (bool)), this, SLOT (onMoveToggled (bool)));
connect (ui.dialogButtons, SIGNAL (rejected ()), this, SLOT (close ()));
connect (ui.dialogButtons, SIGNAL (accepted ()), this, SLOT (onSetLocation ()));
}
QString
RelocateDialog::newLocation () const
{
return ui.newLocationStack->currentWidget () == ui.newLocationButton ?
ui.newLocationButton->path () : ui.newLocationEdit->text ();
}