X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=1399113c5e5fb9b605d3a953bb9ef13461dae095;hp=d5e9b0cda6a19feb766bbba77e3cb5e974757717;hb=d1d1e6ef1d2073d629bf54fd8e0d31f647f9cb88;hpb=47a6910aed00018c7230cc2cc90ae8e80fa77dda diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index d5e9b0cd..1399113c 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * + * Copyright (C) 2005-2014 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -62,6 +62,8 @@ #include "clientbufferviewconfig.h" #include "clientbufferviewmanager.h" #include "clientignorelistmanager.h" +#include "clienttransfer.h" +#include "clienttransfermanager.h" #include "coreconfigwizard.h" #include "coreconnectdlg.h" #include "coreconnection.h" @@ -83,6 +85,7 @@ #include "qtuimessageprocessor.h" #include "qtuisettings.h" #include "qtuistyle.h" +#include "receivefiledlg.h" #include "settingsdlg.h" #include "settingspagedlg.h" #include "statusnotifieritem.h" @@ -1012,8 +1015,24 @@ void MainWin::setupToolBars() QtUi::toolBarActionProvider()->addActions(_mainToolBar, ToolBarActionProvider::MainToolBar); _toolbarMenu->addAction(_mainToolBar->toggleViewAction()); + +#ifdef Q_WS_MAC + QtUiSettings uiSettings; + + bool visible = uiSettings.value("ShowMainToolBar", QVariant(true)).toBool(); + _mainToolBar->setVisible(visible); + connect(_mainToolBar, SIGNAL(visibilityChanged(bool)), this, SLOT(saveMainToolBarStatus(bool))); +#endif } +#ifdef Q_WS_MAC +void MainWin::saveMainToolBarStatus(bool enabled) +{ + QtUiSettings uiSettings; + uiSettings.setValue("ShowMainToolBar", enabled); +} +#endif + void MainWin::connectedToCore() { @@ -1022,6 +1041,8 @@ void MainWin::connectedToCore() connect(Client::bufferViewManager(), SIGNAL(bufferViewConfigDeleted(int)), this, SLOT(removeBufferView(int))); connect(Client::bufferViewManager(), SIGNAL(initDone()), this, SLOT(loadLayout())); + connect(Client::transferManager(), SIGNAL(transferAdded(const ClientTransfer*)), SLOT(showNewTransferDlg(const ClientTransfer*))); + setConnectedState(); } @@ -1358,6 +1379,13 @@ void MainWin::showShortcutsDlg() } +void MainWin::showNewTransferDlg(const ClientTransfer *transfer) +{ + ReceiveFileDlg *dlg = new ReceiveFileDlg(transfer, this); + dlg->show(); +} + + void MainWin::onFullScreenToggled() { // Relying on QWidget::isFullScreen is discouraged, see the KToggleFullScreenAction docs @@ -1383,10 +1411,19 @@ void MainWin::onFullScreenToggled() bool MainWin::event(QEvent *event) { - if (event->type() == QEvent::WindowActivate) { - BufferId buffer = Client::bufferModel()->currentBuffer(); - if (buffer.isValid()) - Client::instance()->markBufferAsRead(buffer); + switch(event->type()) { + case QEvent::WindowActivate: { + BufferId bufferId = Client::bufferModel()->currentBuffer(); + if (bufferId.isValid()) + Client::instance()->markBufferAsRead(bufferId); + break; + } + case QEvent::WindowDeactivate: + if (bufferWidget()->autoMarkerLineOnLostFocus()) + bufferWidget()->setMarkerLine(); + break; + default: + break; } return QMainWindow::event(event); }