Exemplo n.º 1
0
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);
    }
Exemplo n.º 2
0
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));
}
Exemplo n.º 3
0
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);
	}
Exemplo n.º 4
0
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();
}
Exemplo n.º 5
0
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)));
    
    
}
Exemplo n.º 6
0
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();
}
Exemplo n.º 7
0
void ToolBar::onSetting() {
	emit settingsClicked();
}