X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=645ce36698a129101267b67fc9a742546edf9b91;hb=refs%2Fpull%2F83%2Fhead;hp=573728e7fb6d79049b3b8652341157b78715e58b;hpb=e4a23f68789db8aa7dddeebed35f4ff6a90ffa8c;p=quassel.git diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 573728e7..645ce366 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,7 @@ #include "clientbufferviewconfig.h" #include "clientbufferviewmanager.h" #include "clientignorelistmanager.h" +#include "clienttransfer.h" #include "clienttransfermanager.h" #include "coreconfigwizard.h" #include "coreconnectdlg.h" @@ -90,7 +91,6 @@ #include "statusnotifieritem.h" #include "toolbaractionprovider.h" #include "topicwidget.h" -#include "transfer.h" #include "verticaldock.h" #ifndef HAVE_KDE @@ -337,7 +337,7 @@ void MainWin::restoreStateFromSettings(UiSettings &s) void MainWin::updateIcon() { -#ifdef Q_WS_MAC +#ifdef Q_OS_MAC const int size = 128; #else const int size = 48; @@ -402,7 +402,7 @@ void MainWin::setupActions() configureShortcutsAct->setMenuRole(QAction::NoRole); coll->addAction("ConfigureShortcuts", configureShortcutsAct); - #ifdef Q_WS_MAC + #ifdef Q_OS_MAC QAction *configureQuasselAct = new Action(SmallIcon("configure"), tr("&Configure Quassel..."), coll, this, SLOT(showSettingsDlg())); configureQuasselAct->setMenuRole(QAction::PreferencesRole); @@ -445,7 +445,7 @@ void MainWin::setupActions() this, SLOT(on_jumpHotBuffer_triggered()), QKeySequence(Qt::META + Qt::Key_A))); // Jump keys -#ifdef Q_WS_MAC +#ifdef Q_OS_MAC const int bindModifier = Qt::ControlModifier | Qt::AltModifier; const int jumpModifier = Qt::ControlModifier; #else @@ -1000,7 +1000,7 @@ void MainWin::setupToolBars() connect(_nickListWidget, SIGNAL(nickSelectionChanged(QModelIndexList)), QtUi::toolBarActionProvider(), SLOT(nickSelectionChanged(QModelIndexList))); -#ifdef Q_WS_MAC +#ifdef Q_OS_MAC setUnifiedTitleAndToolBarOnMac(true); #endif @@ -1015,8 +1015,24 @@ void MainWin::setupToolBars() QtUi::toolBarActionProvider()->addActions(_mainToolBar, ToolBarActionProvider::MainToolBar); _toolbarMenu->addAction(_mainToolBar->toggleViewAction()); + +#ifdef Q_OS_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_OS_MAC +void MainWin::saveMainToolBarStatus(bool enabled) +{ + QtUiSettings uiSettings; + uiSettings.setValue("ShowMainToolBar", enabled); +} +#endif + void MainWin::connectedToCore() { @@ -1025,7 +1041,7 @@ 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(newTransfer(const Transfer*)), SLOT(showNewTransferDlg(const Transfer*))); + connect(Client::transferManager(), SIGNAL(transferAdded(const ClientTransfer*)), SLOT(showNewTransferDlg(const ClientTransfer*))); setConnectedState(); } @@ -1363,7 +1379,7 @@ void MainWin::showShortcutsDlg() } -void MainWin::showNewTransferDlg(const Transfer *transfer) +void MainWin::showNewTransferDlg(const ClientTransfer *transfer) { ReceiveFileDlg *dlg = new ReceiveFileDlg(transfer, this); dlg->show(); @@ -1395,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); } @@ -1582,9 +1607,7 @@ void MainWin::on_jumpHotBuffer_triggered() if (!_bufferHotList->rowCount()) return; - QModelIndex topIndex = _bufferHotList->index(0, 0); - BufferId bufferId = _bufferHotList->data(topIndex, NetworkModel::BufferIdRole).value(); - Client::bufferModel()->switchToBuffer(bufferId); + Client::bufferModel()->switchToBuffer(_bufferHotList->hottestBuffer()); } @@ -1635,6 +1658,9 @@ void MainWin::on_actionDebugNetworkModel_triggered() void MainWin::on_actionDebugHotList_triggered() { + _bufferHotList->invalidate(); + _bufferHotList->sort(0, Qt::DescendingOrder); + QTreeView *view = new QTreeView; view->setAttribute(Qt::WA_DeleteOnClose); view->setModel(_bufferHotList);