Fix minimize to tray feature on Win32

This commit is contained in:
Christophe Dumez
2010-06-02 09:16:31 +00:00
parent 6bc0aebe0d
commit 35a9d30143

View File

@@ -87,11 +87,11 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
setWindowTitle(tr("qBittorrent %1", "e.g: qBittorrent v0.x").arg(QString::fromUtf8(VERSION)) setWindowTitle(tr("qBittorrent %1", "e.g: qBittorrent v0.x").arg(QString::fromUtf8(VERSION))
#if defined(Q_WS_WIN) #if defined(Q_WS_WIN)
+" [Windows]" +" [Windows]"
#elif defined(Q_WS_MAC) #elif defined(Q_WS_MAC)
+" [Mac OS X]" +" [Mac OS X]"
#endif #endif
); );
// Setting icons // Setting icons
this->setWindowIcon(QIcon(QString::fromUtf8(":/Icons/skin/qbittorrent32.png"))); this->setWindowIcon(QIcon(QString::fromUtf8(":/Icons/skin/qbittorrent32.png")));
actionOpen->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/open.png"))); actionOpen->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/open.png")));
@@ -179,7 +179,7 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
if (!GetUserNameA(buffer, &buffer_len)) if (!GetUserNameA(buffer, &buffer_len))
uid = QString(buffer); uid = QString(buffer);
#else #else
uid = QString::number(getuid()); uid = QString::number(getuid());
#endif #endif
#ifdef Q_WS_X11 #ifdef Q_WS_X11
if(QFile::exists(QDir::tempPath()+QDir::separator()+QString("qBittorrent-")+uid)) { if(QFile::exists(QDir::tempPath()+QDir::separator()+QString("qBittorrent-")+uid)) {
@@ -219,19 +219,19 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
transferListFilters->getStatusFilters()->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); transferListFilters->getStatusFilters()->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
if(Preferences::startMinimized()) { if(Preferences::startMinimized()) {
setWindowState(Qt::WindowMinimized); showMinimized();
} }
qDebug("GUI Built"); qDebug("GUI Built");
#ifdef Q_WS_WIN #ifdef Q_WS_WIN
if(!Preferences::neverCheckFileAssoc() && !Preferences::isFileAssocOk()) { if(!Preferences::neverCheckFileAssoc() && !Preferences::isFileAssocOk()) {
if(QMessageBox::question(0, tr("Torrent file association"), if(QMessageBox::question(0, tr("Torrent file association"),
tr("qBittorrent is not the default application to open torrent files or Magnet links.\nDo you want to associate qBittorrent to torrent files and Magnet links?"), tr("qBittorrent is not the default application to open torrent files or Magnet links.\nDo you want to associate qBittorrent to torrent files and Magnet links?"),
QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes) == QMessageBox::Yes) { QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes) == QMessageBox::Yes) {
Preferences::setFileAssoc(); Preferences::setFileAssoc();
} else { } else {
Preferences::setNeverCheckFileAssoc(); Preferences::setNeverCheckFileAssoc();
} }
} }
#endif #endif
} }
@@ -400,7 +400,7 @@ void GUI::readSettings() {
QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
settings.beginGroup(QString::fromUtf8("MainWindow")); settings.beginGroup(QString::fromUtf8("MainWindow"));
resize(settings.value(QString::fromUtf8("size"), size()).toSize()); resize(settings.value(QString::fromUtf8("size"), size()).toSize());
move(settings.value(QString::fromUtf8("pos"), misc::screenCenter(this)).toPoint()); move(settings.value(QString::fromUtf8("pos"), misc::screenCenter(this)).toPoint());
if(settings.value("IsMaximized", false).toBool()) if(settings.value("IsMaximized", false).toBool())
showMaximized(); showMaximized();
const QStringList &sizes_str = settings.value("vSplitterSizes", QStringList()).toStringList(); const QStringList &sizes_str = settings.value("vSplitterSizes", QStringList()).toStringList();
@@ -602,12 +602,16 @@ void GUI::on_actionCreate_torrent_triggered() {
bool GUI::event(QEvent * e) { bool GUI::event(QEvent * e) {
if(e->type() == QEvent::WindowStateChange) { if(e->type() == QEvent::WindowStateChange) {
qDebug("Window change event");
//Now check to see if the window is minimised //Now check to see if the window is minimised
if(isMinimized()) { if(isMinimized()) {
qDebug("minimisation"); qDebug("minimisation");
QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
if(systrayIcon && settings.value(QString::fromUtf8("Preferences/General/MinimizeToTray"), false).toBool()) { if(systrayIcon && settings.value(QString::fromUtf8("Preferences/General/MinimizeToTray"), false).toBool()) {
hide(); qDebug("Minimize to Tray enabled, hiding!");
e->accept();
QTimer::singleShot(0, this, SLOT(hide()));
return true;
} }
} }
} }