CategoryFilterWidget::CategoryFilterWidget(QWidget *parent) : QTreeView(parent) { CategoryFilterProxyModel *proxyModel = new CategoryFilterProxyModel(this); proxyModel->setSortCaseSensitivity(Qt::CaseInsensitive); proxyModel->setSourceModel(new CategoryFilterModel(this)); setModel(proxyModel); setFrameShape(QFrame::NoFrame); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); setUniformRowHeights(true); setHeaderHidden(true); setIconSize(Utils::Misc::smallIconSize()); #if defined(Q_OS_MAC) setAttribute(Qt::WA_MacShowFocusRect, false); #endif setContextMenuPolicy(Qt::CustomContextMenu); sortByColumn(0, Qt::AscendingOrder); setCurrentIndex(model()->index(0, 0)); connect(this, SIGNAL(collapsed(QModelIndex)), SLOT(callUpdateGeometry())); connect(this, SIGNAL(expanded(QModelIndex)), SLOT(callUpdateGeometry())); connect(this, SIGNAL(customContextMenuRequested(QPoint)), SLOT(showMenu(QPoint))); connect(selectionModel(), SIGNAL(currentRowChanged(QModelIndex,QModelIndex)) , SLOT(onCurrentRowChanged(QModelIndex,QModelIndex))); connect(model(), SIGNAL(modelReset()), SLOT(callUpdateGeometry())); }
void QtHighlightEditor::selectRow(int row) { for (int i = 0; i < ui_.listWidget->count(); ++i) { if (i == row) { ui_.listWidget->item(i)->setSelected(true); onCurrentRowChanged(i); } else { ui_.listWidget->item(i)->setSelected(false); } } ui_.listWidget->setCurrentRow(row); }
UserEdit::UserEdit(const MumbleProto::UserList &userList, QWidget *p) : QDialog(p) , m_model(new UserListModel(userList, this)) , m_filter(new UserListFilterProxyModel(this)) { setupUi(this); const int userCount = userList.users_size(); setWindowTitle(tr("Registered users: %n account(s)", "", userCount)); m_filter->setSourceModel(m_model); qtvUserList->setModel(m_filter); QItemSelectionModel *selectionModel = qtvUserList->selectionModel(); connect(selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(onSelectionChanged(QItemSelection,QItemSelection))); connect(selectionModel, SIGNAL(currentRowChanged(QModelIndex,QModelIndex)), this, SLOT(onCurrentRowChanged(QModelIndex,QModelIndex))); qtvUserList->setFocus(); qtvUserList->setContextMenuPolicy(Qt::CustomContextMenu); #if QT_VERSION >= 0x050000 qtvUserList->header()->setSectionResizeMode(UserListModel::COL_NICK, QHeaderView::Stretch); if (!m_model->isLegacy()) { qtvUserList->header()->setSectionResizeMode(UserListModel::COL_INACTIVEDAYS, QHeaderView::ResizeToContents); qtvUserList->header()->setSectionResizeMode(UserListModel::COL_LASTCHANNEL, QHeaderView::Stretch); } #else qtvUserList->header()->setResizeMode(UserListModel::COL_NICK, QHeaderView::Stretch); if (!m_model->isLegacy()) { qtvUserList->header()->setResizeMode(UserListModel::COL_INACTIVEDAYS, QHeaderView::ResizeToContents); qtvUserList->header()->setResizeMode(UserListModel::COL_LASTCHANNEL, QHeaderView::Stretch); } #endif if (m_model->isLegacy()) { qlInactive->hide(); qsbInactive->hide(); qcbInactive->hide(); } qtvUserList->sortByColumn(UserListModel::COL_NICK, Qt::AscendingOrder); }
void PackagesPage::onPackageRemove() { QModelIndex index = _ui->_listPackages->currentIndex(); Package package = PackageTable::getFromModel(_model, index.row()); QMessageBox msg(this); msg.setWindowIcon(getIcon()); msg.setWindowTitle(tr("Remove package?")); msg.setInformativeText(tr("Are you sure to delete package\n'%1'\nwith description\n'%2'?").arg(package.getName()).arg(package.getDescription())); msg.setStandardButtons(QMessageBox::Yes|QMessageBox::No); msg.setDefaultButton(QMessageBox::No); msg.setIcon(QMessageBox::Warning); int button = msg.exec(); if(button!=QMessageBox::Yes) return; bool ok = _model->removeRow(index.row()); if(!ok) { QMessageBox::critical(this, tr("Error"), tr("Could not remove package:\n %1").arg(_model->lastError().text())); return; } _model->submitAll(); onCurrentRowChanged(QModelIndex()); }
void apiOrderBook::signalSlots() { connect(ui->apiOrderBookTableView->selectionModel(),SIGNAL(currentRowChanged(QModelIndex,QModelIndex)),this,SLOT(onCurrentRowChanged(QModelIndex,QModelIndex))); connect(&_orderBookTimer,SIGNAL(timeout()), this, SLOT(receiveDataFromSgOrderBook())); _orderBookTimer.start(500); }
void PackagesPage::createModel() { _model = new QSqlRelationalTableModel(_ui->_listPackages); _model->setEditStrategy(QSqlTableModel::OnManualSubmit); _model->setTable(PackageTable::tableName); int idIndex = _model->fieldIndex(PackageTable::fieldId); _model->setHeaderData(idIndex, Qt::Horizontal, tr("Id")); int idName = _model->fieldIndex(PackageTable::fieldName); _model->setHeaderData(idName, Qt::Horizontal, tr("Name")); int idDescr = _model->fieldIndex(PackageTable::fieldDescr); _model->setHeaderData(idDescr, Qt::Horizontal, tr("Description")); if(!_model->select()) { return; } _ui->_listPackages->setModel(_model); _ui->_listPackages->setColumnHidden(0, true); _ui->_listPackages->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Stretch); connect(_ui->_listPackages->selectionModel(), SIGNAL(currentRowChanged(QModelIndex,QModelIndex)), SLOT(onCurrentRowChanged(QModelIndex))); _ui->_listPackages->setCurrentIndex(_model->index(0,0)); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_transferMenu(new QMenu(tr("Download"), this)), m_packageMenu(new QMenu(tr("Package"), this)), m_addUrlsAction(new QAction(QIcon::fromTheme("general_add"), tr("Add URLs"), this)), m_importUrlsAction(new QAction(QIcon::fromTheme("general_toolbar_folder"), tr("Import URLs"), this)), m_retrieveUrlsAction(new QAction(QIcon::fromTheme("general_search"), tr("Retrieve URLs"), this)), m_clipboardUrlsAction(new QAction(QIcon::fromTheme("general_share"), tr("Clipboard URLs"), this)), m_queueAction(new QAction(QIcon("/etc/hildon/theme/mediaplayer/Play.png"), tr("Start all DLs"), this)), m_pauseAction(new QAction(QIcon("/etc/hildon/theme/mediaplayer/Pause.png"), tr("Pause all DLs"), this)), m_propertiesAction(new QAction(QIcon::fromTheme("general_information"), tr("Properties"), this)), m_transferQueueAction(new QAction(tr("Start"), this)), m_transferPauseAction(new QAction(tr("Pause"), this)), m_transferCancelAction(new QAction(tr("Remove"), this)), m_transferCancelDeleteAction(new QAction(tr("Remove and delete files"), this)), m_packageQueueAction(new QAction(tr("Start"), this)), m_packagePauseAction(new QAction(tr("Pause"), this)), m_packageCancelAction(new QAction(tr("Remove"), this)), m_packageCancelDeleteAction(new QAction(tr("Remove and delete files"), this)), m_settingsAction(new QAction(tr("Settings"), this)), m_pluginsAction(new QAction(tr("Load plugins"), this)), m_aboutAction(new QAction(tr("About"), this)), m_concurrentAction(new ValueSelectorAction(tr("Maximum concurrent DLs"), this)), m_nextAction(new ValueSelectorAction(tr("After current DLs"), this)), m_view(new QTreeView(this)), m_toolBar(new QToolBar(this)), m_activeLabel(new QLabel(QString("%1DLs").arg(TransferModel::instance()->activeTransfers()), this)), m_speedLabel(new QLabel(Utils::formatBytes(TransferModel::instance()->totalSpeed()) + "/s", this)) { setWindowTitle("QDL"); setCentralWidget(m_view); addToolBar(Qt::BottomToolBarArea, m_toolBar); menuBar()->addAction(m_concurrentAction); menuBar()->addAction(m_nextAction); menuBar()->addAction(m_queueAction); menuBar()->addAction(m_pauseAction); menuBar()->addAction(m_settingsAction); menuBar()->addAction(m_pluginsAction); menuBar()->addAction(m_aboutAction); m_addUrlsAction->setShortcut(tr("Ctrl+N")); m_importUrlsAction->setShortcut(tr("Ctrl+O")); m_retrieveUrlsAction->setShortcut(tr("Ctrl+F")); m_propertiesAction->setShortcut(tr("Ctrl+I")); m_propertiesAction->setEnabled(false); m_clipboardUrlsAction->setShortcut(tr("Ctrl+U")); m_pluginsAction->setShortcut(tr("Ctrl+L")); m_transferMenu->addAction(m_transferQueueAction); m_transferMenu->addAction(m_transferPauseAction); m_transferMenu->addAction(m_transferCancelAction); m_transferMenu->addAction(m_transferCancelDeleteAction); m_packageMenu->addAction(m_packageQueueAction); m_packageMenu->addAction(m_packagePauseAction); m_packageMenu->addAction(m_packageCancelAction); m_packageMenu->addAction(m_packageCancelDeleteAction); m_concurrentAction->setModel(new ConcurrentTransfersModel(m_concurrentAction)); m_concurrentAction->setValue(Settings::maximumConcurrentTransfers()); m_nextAction->setModel(new ActionModel(m_nextAction)); m_nextAction->setValue(Settings::nextAction()); QLabel *speedIcon = new QLabel(m_toolBar); speedIcon->setPixmap(QIcon::fromTheme("general_received").pixmap(m_toolBar->iconSize())); QWidget *spacer1 = new QWidget(m_toolBar); spacer1->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); QWidget *spacer2 = new QWidget(m_toolBar); spacer2->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); m_activeLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter); m_speedLabel->setMinimumWidth(m_speedLabel->fontMetrics().width("9999.99MB/s")); m_speedLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter); m_toolBar->setAllowedAreas(Qt::BottomToolBarArea); m_toolBar->setContextMenuPolicy(Qt::PreventContextMenu); m_toolBar->setMovable(false); m_toolBar->addAction(m_addUrlsAction); m_toolBar->addAction(m_importUrlsAction); m_toolBar->addAction(m_retrieveUrlsAction); m_toolBar->addAction(m_clipboardUrlsAction); m_toolBar->addAction(m_propertiesAction); m_toolBar->addWidget(spacer1); m_toolBar->addWidget(m_activeLabel); m_toolBar->addWidget(spacer2); m_toolBar->addWidget(m_speedLabel); m_toolBar->addWidget(speedIcon); m_view->setModel(TransferModel::instance()); m_view->setSelectionBehavior(QTreeView::SelectRows); m_view->setContextMenuPolicy(Qt::CustomContextMenu); m_view->setEditTriggers(QTreeView::NoEditTriggers); m_view->setExpandsOnDoubleClick(true); m_view->setItemsExpandable(true); m_view->setUniformRowHeights(true); m_view->setAllColumnsShowFocus(true); QHeaderView *header = m_view->header(); if (!header->restoreState(Settings::transferViewHeaderState())) { const QFontMetrics fm = header->fontMetrics(); header->resizeSection(0, 200); header->resizeSection(2, fm.width("999.99MB of 999.99MB (99.99%)")); header->resizeSection(3, fm.width("999.99KB/s")); header->hideSection(1); // Hide priority column } connect(Settings::instance(), SIGNAL(maximumConcurrentTransfersChanged(int)), this, SLOT(onMaximumConcurrentTransfersChanged(int))); connect(Settings::instance(), SIGNAL(nextActionChanged(int)), this, SLOT(onNextActionChanged(int))); connect(TransferModel::instance(), SIGNAL(captchaRequest(TransferItem*)), this, SLOT(showCaptchaDialog(TransferItem*))); connect(TransferModel::instance(), SIGNAL(settingsRequest(TransferItem*)), this, SLOT(showPluginSettingsDialog(TransferItem*))); connect(TransferModel::instance(), SIGNAL(activeTransfersChanged(int)), this, SLOT(onActiveTransfersChanged(int))); connect(TransferModel::instance(), SIGNAL(totalSpeedChanged(int)), this, SLOT(onTotalSpeedChanged(int))); connect(m_transferMenu, SIGNAL(aboutToShow()), this, SLOT(setTransferMenuActions())); connect(m_packageMenu, SIGNAL(aboutToShow()), this, SLOT(setPackageMenuActions())); connect(m_addUrlsAction, SIGNAL(triggered()), this, SLOT(showAddUrlsDialog())); connect(m_importUrlsAction, SIGNAL(triggered()), this, SLOT(showImportUrlsDialog())); connect(m_retrieveUrlsAction, SIGNAL(triggered()), this, SLOT(showRetrieveUrlsDialog())); connect(m_clipboardUrlsAction, SIGNAL(triggered()), this, SLOT(showClipboardUrlsDialog())); connect(m_queueAction, SIGNAL(triggered()), TransferModel::instance(), SLOT(queue())); connect(m_pauseAction, SIGNAL(triggered()), TransferModel::instance(), SLOT(pause())); connect(m_propertiesAction, SIGNAL(triggered()), this, SLOT(showCurrentItemProperties())); connect(m_transferQueueAction, SIGNAL(triggered()), this, SLOT(queueCurrentTransfer())); connect(m_transferPauseAction, SIGNAL(triggered()), this, SLOT(pauseCurrentTransfer())); connect(m_transferCancelAction, SIGNAL(triggered()), this, SLOT(cancelCurrentTransfer())); connect(m_transferCancelDeleteAction, SIGNAL(triggered()), this, SLOT(cancelAndDeleteCurrentTransfer())); connect(m_packageQueueAction, SIGNAL(triggered()), this, SLOT(queueCurrentPackage())); connect(m_packagePauseAction, SIGNAL(triggered()), this, SLOT(pauseCurrentPackage())); connect(m_packageCancelAction, SIGNAL(triggered()), this, SLOT(cancelCurrentPackage())); connect(m_packageCancelDeleteAction, SIGNAL(triggered()), this, SLOT(cancelAndDeleteCurrentPackage())); connect(m_settingsAction, SIGNAL(triggered()), this, SLOT(showSettingsDialog())); connect(m_pluginsAction, SIGNAL(triggered()), this, SLOT(loadPlugins())); connect(m_aboutAction, SIGNAL(triggered()), this, SLOT(showAboutDialog())); connect(m_concurrentAction, SIGNAL(valueChanged(QVariant)), this, SLOT(setMaximumConcurrentTransfers(QVariant))); connect(m_nextAction, SIGNAL(valueChanged(QVariant)), this, SLOT(setNextAction(QVariant))); connect(m_view, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showContextMenu(QPoint))); connect(m_view->selectionModel(), SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), this, SLOT(onCurrentRowChanged(QModelIndex))); }