PluginsList::PluginsList(QWidget* parent) : QWidget(parent) , ui(new Ui::PluginsList) { ui->setupUi(this); //Application Extensions refresh(); connect(ui->butSettings, SIGNAL(clicked()), this, SLOT(settingsClicked())); connect(ui->list, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(currentChanged(QListWidgetItem*))); connect(ui->butLoad, SIGNAL(clicked()), this, SLOT(reloadPlugins())); connect(ui->allowAppPlugins, SIGNAL(clicked(bool)), this, SLOT(allowAppPluginsChanged(bool))); Settings settings; settings.beginGroup("Plugin-Settings"); ui->allowAppPlugins->setChecked(settings.value("EnablePlugins", DEFAULT_ENABLE_PLUGINS).toBool()); settings.endGroup(); allowAppPluginsChanged(ui->allowAppPlugins->isChecked()); //WebKit Plugins connect(ui->add, SIGNAL(clicked()), this, SLOT(addWhitelist())); connect(ui->remove, SIGNAL(clicked()), this, SLOT(removeWhitelist())); connect(ui->allowClick2Flash, SIGNAL(clicked(bool)), this, SLOT(allowC2FChanged(bool))); settings.beginGroup("ClickToFlash"); QStringList whitelist = mApp->plugins()->c2f_getWhiteList(); ui->allowClick2Flash->setChecked(settings.value("Enable", true).toBool()); settings.endGroup(); foreach(const QString & site, whitelist) { QTreeWidgetItem* item = new QTreeWidgetItem(ui->whitelist); item->setText(0, site); }
PluginsManager::PluginsManager(QWidget* parent) : QWidget(parent) , ui(new Ui::PluginsList) , m_loaded(false) { ui->setupUi(this); ui->list->setLayoutDirection(Qt::LeftToRight); ui->butSettings->setIcon(IconProvider::settingsIcon()); //Application Extensions Settings settings; settings.beginGroup("Plugin-Settings"); bool appPluginsEnabled = settings.value("EnablePlugins", !mApp->isPortable()).toBool(); settings.endGroup(); ui->allowAppPlugins->setChecked(appPluginsEnabled); ui->list->setEnabled(appPluginsEnabled); connect(ui->butSettings, SIGNAL(clicked()), this, SLOT(settingsClicked())); connect(ui->list, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), this, SLOT(currentChanged(QListWidgetItem*))); connect(ui->list, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(itemChanged(QListWidgetItem*))); connect(ui->allowAppPlugins, SIGNAL(clicked(bool)), this, SLOT(allowAppPluginsChanged(bool))); ui->list->setItemDelegate(new PluginListDelegate(ui->list)); }
void OptionsTabPlugins::listPlugins() { if ( !w ) return; OptPluginsUI *d = (OptPluginsUI *)w; d->tw_Plugins->clear(); PluginManager *pm=PluginManager::instance(); QStringList plugins = pm->availablePlugins(); plugins.sort(); const QSize buttonSize = QSize(21,21); foreach ( const QString& plugin, plugins ){ QIcon icon = pm->icon(plugin); bool enabled = pm->isEnabled(plugin); const QString path = pm->pathToPlugin(plugin); QString toolTip = tr("Plugin Path:\n%1").arg(path); Qt::CheckState state = enabled ? Qt::Checked : Qt::Unchecked; QTreeWidgetItem *item = new QTreeWidgetItem(d->tw_Plugins, QTreeWidgetItem::Type); item->setFlags(item->flags() | Qt::ItemIsUserCheckable); item->setText(C_NAME, plugin); item->setText(C_VERSION, pm->version(plugin)); item->setTextAlignment(C_VERSION, Qt::AlignHCenter); item->setToolTip(C_NAME, toolTip); item->setCheckState(C_NAME, state); if ( !enabled ) { icon = QIcon(icon.pixmap(icon.availableSizes().at(0), QIcon::Disabled)); } item->setIcon(C_NAME,icon); QString shortName = PluginManager::instance()->shortName(plugin); QToolButton *aboutbutton = new QToolButton(d->tw_Plugins); aboutbutton->setIcon(QIcon(IconsetFactory::iconPixmap("psi/info"))); aboutbutton->resize(buttonSize); aboutbutton->setObjectName("ab_" + shortName); aboutbutton->setToolTip(tr("Show information about plugin")); connect(aboutbutton, SIGNAL(clicked()), this, SLOT(showPluginInfo())); d->tw_Plugins->setItemWidget(item, C_ABOUT, aboutbutton); QToolButton *settsbutton = new QToolButton(d->tw_Plugins); settsbutton->setIcon(QIcon(IconsetFactory::iconPixmap("psi/options"))); settsbutton->resize(buttonSize); settsbutton->setObjectName("sb_" + shortName); settsbutton->setToolTip(tr("Open plugin settings dialog")); connect(settsbutton, SIGNAL(clicked()), this, SLOT(settingsClicked())); settsbutton->setEnabled(enabled); d->tw_Plugins->setItemWidget(item, C_SETTS, settsbutton); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); // Initial startup checks if (!FilePirate::Application().settingsLoaded) { settingsWindow.setParent(this, Qt::WindowFlags(Qt::Dialog)); settingsWindow.show(); settingsWindow.raise(); settingsWindow.activateWindow(); } // connect signals connect(ui->actionExit,SIGNAL(triggered()),this,SLOT(exitClicked())); connect(ui->actionAbout_FilePirate,SIGNAL(triggered()),this,SLOT(aboutClicked())); connect(ui->actionSettings,SIGNAL(triggered()),this,SLOT(settingsClicked())); connect(ui->actionRefreshFileList, SIGNAL(triggered()), FilePirate::Application().fileMon, SLOT(refreshTimerEvent())); /* set up our active transfers widget */ activeTranfersWidget = new QTreeView(ui->transfersDock); activeTranfersWidget->setModel(new ActiveTransferModel(activeTranfersWidget)); ui->transfersDock->setWidget(activeTranfersWidget); /* users widget */ usersWidget = new QTreeView(); usersWidget->setModel(new UserModel(usersWidget, FilePirate::Application().userInfo)); ui->usersDock->setWidget(usersWidget); /* central widget */ mainTabs = new QTabWidget(this); this->setCentralWidget(mainTabs); /* chat tab */ chatTab = new TabChat(mainTabs); mainTabs->addTab(chatTab, QIcon(":/icons/res/text-balloon.ico"), "Chat"); connect(FilePirate::Application().ocean, SIGNAL(messageReceived(QHostAddress,QString,QString)), chatTab, SLOT(newMessage(QHostAddress,QString,QString))); connect(chatTab, SIGNAL(messageSent(QString)), FilePirate::Application().ocean, SLOT(sendChatMessage(QString))); /* helper connections */ connect(this, SIGNAL(destroyed()), FilePirate::Application().ocean, SLOT(returnToPort())); /* let everybody know we've set sail! */ FilePirate::Application().ocean->start(); FilePirate::Application().ocean->sendMessage(NET_OCEAN_SAIL, FilePirate::Application().username); FilePirate::Application().userInfo->start(); }
SearchDlg::SearchDlg(QCatDataModuleClass *_dm, int _catId, QWidget *parent) : dm(_dm), QDialog(parent), Ui::SearchDialog() { //setupUi(); catId = _catId; returnedId = -1; //dbConnName = connName; //db = QSqlDatabase::database(dbConnName, true); searchInDirs = dm->settings->searchDirNames; searchInFiles = dm->settings->searchFileNames; searchInDescriptions = dm->settings->searchDescriptions; caseSensitiveSearch = dm->settings->searchCaseSensitive; diskNames.clear(); setupUi(this); QStringList resultHeader; resultHeader << tr("Name") << tr("Ext") << tr("Disk name") << tr("Size") << tr("Date") << tr("Time") << tr("Attr"); resultsTreeWidget->setHeaderLabels(resultHeader); resultsTreeWidget->header()->setResizeMode(QHeaderView::ResizeToContents); if (searchInFiles) sfCheckBox->setCheckState(Qt::Checked); else sfCheckBox->setCheckState(Qt::Unchecked); if (searchInDirs) sdiCheckBox->setCheckState(Qt::Checked); else sdiCheckBox->setCheckState(Qt::Unchecked); if (searchInDescriptions) sdeCheckBox->setCheckState(Qt::Checked); else sdeCheckBox->setCheckState(Qt::Unchecked); if (caseSensitiveSearch) csCheckBox->setCheckState(Qt::Checked); else csCheckBox->setCheckState(Qt::Unchecked); connect(searchPushButton, SIGNAL(clicked()), this, SLOT(searchClicked())); connect(settingsPushButton, SIGNAL(clicked()), this, SLOT(settingsClicked())); connect(csCheckBox, SIGNAL(stateChanged(int)), this, SLOT(caseSensitiveStateChanged(int))); connect(sfCheckBox, SIGNAL(stateChanged(int)), this, SLOT(searchInFilesStateChanged(int))); connect(sdiCheckBox, SIGNAL(stateChanged(int)), this, SLOT(searchInDirsStateChanged(int))); connect(sdeCheckBox, SIGNAL(stateChanged(int)), this, SLOT(searchInDescStateChanged(int))); connect(resultsTreeWidget, SIGNAL(itemActivated(QTreeWidgetItem*, int)), this, SLOT(itemIsActivated(QTreeWidgetItem*, int))); }
ThumbnailStrip::ThumbnailStrip(QWidget *parent) : QWidget(parent), panelSize(122), current(-1), thumbView(NULL) { thumbView = new ThumbnailView(); widget = new ClickableWidget(); thumbView->setWidget(widget); thumbView->setFrameShape(QFrame::NoFrame); viewLayout = new QBoxLayout(QBoxLayout::LeftToRight); viewLayout->setSpacing(0); widget->setLayout(viewLayout); widget->setStyleSheet("background-color: #202020;"); // doesnt work from qss for some reason scrollBar = thumbView->horizontalScrollBar(); // BUTTONS buttonsWidget = new QWidget(); buttonsWidget->setAccessibleName("panelButtonsWidget"); openButton = new ClickableLabel(); openButton->setAccessibleName("panelButton"); openButton->setPixmap(QPixmap(":/images/res/icons/open.png")); saveButton = new ClickableLabel(); saveButton->setAccessibleName("panelButton"); saveButton->setPixmap(QPixmap(":/images/res/icons/save.png")); settingsButton = new ClickableLabel(); settingsButton->setAccessibleName("panelButton"); settingsButton->setPixmap(QPixmap(":/images/res/icons/settings.png")); buttonsLayout = new QBoxLayout(QBoxLayout::LeftToRight); buttonsLayout->setSpacing(0); buttonsLayout->setContentsMargins(0,0,0,0); buttonsLayout->addWidget(openButton); buttonsLayout->addWidget(saveButton); buttonsLayout->addWidget(settingsButton); buttonsLayout->addStretch(0); buttonsWidget->setLayout(buttonsLayout); // main layout layout = new QBoxLayout(QBoxLayout::TopToBottom); layout->setSpacing(0); layout->setContentsMargins(0,0,0,0); layout->addWidget(buttonsWidget); layout->addWidget(thumbView); this->setLayout(layout); // other extremely important things thumbView->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContents); widget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); widget->setAccessibleName("thumbnailWidget"); thumbView->setAccessibleName("thumbnailView"); loadTimer.setSingleShot(true); timeLine = new QTimeLine(SCROLL_ANIMATION_SPEED, thumbView); timeLine->setCurveShape(QTimeLine::EaseInCurve); thumbView->horizontalScrollBar()->setAttribute(Qt::WA_NoMousePropagation, true); thumbView->verticalScrollBar()->setAttribute(Qt::WA_NoMousePropagation, true); this->setAttribute(Qt::WA_NoMousePropagation, true); this->setFocusPolicy(Qt::NoFocus); thumbView->setFocusPolicy(Qt::NoFocus); // actions connect(openButton, SIGNAL(clicked()), this, SIGNAL(openClicked())); connect(saveButton, SIGNAL(clicked()), this, SIGNAL(saveClicked())); connect(settingsButton, SIGNAL(clicked()), this, SIGNAL(settingsClicked())); connect(widget, SIGNAL(pressed(QPoint)), this, SLOT(viewPressed(QPoint))); connect(&loadTimer, SIGNAL(timeout()), this, SLOT(loadVisibleThumbnails())); connect(settings, SIGNAL(settingsChanged()), this, SLOT(readSettings())); readSettings(); this->hide(); }
void ToolBar::onSetting() { emit settingsClicked(); }