Example #1
0
void
SettingsDialog::createIcons()
{
    /// Not fun but QListWidget sucks. Do our max-width calculation manually
    /// so the icons arre lined up.
    // Resolvers is the longest string... in english. fml.

    int maxlen = 0;
    QFontMetrics fm( font() );
    QListWidgetItem *accountsButton = new QListWidgetItem( ui->listWidget );
    accountsButton->setIcon( QIcon( RESPATH "images/account-settings.png" ) );
    accountsButton->setText( tr( "Accounts" ) );
    accountsButton->setTextAlignment( Qt::AlignHCenter );
    accountsButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled );
    maxlen = fm.width( accountsButton->text() );

    QListWidgetItem *musicButton = new QListWidgetItem( ui->listWidget );
    musicButton->setIcon( QIcon( RESPATH "images/music-settings.png" ) );
    musicButton->setText( tr( "Music" ) );
    musicButton->setTextAlignment( Qt::AlignHCenter );
    musicButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled );
    maxlen = qMax( fm.width( musicButton->text() ), maxlen );

    QListWidgetItem *lastfmButton = new QListWidgetItem( ui->listWidget );
    lastfmButton->setIcon( QIcon( RESPATH "images/lastfm-settings.png" ) );
    lastfmButton->setText( tr( "Last.fm" ) );
    lastfmButton->setTextAlignment( Qt::AlignHCenter );
    lastfmButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled );
    maxlen = qMax( fm.width( lastfmButton->text() ), maxlen );

    QListWidgetItem *resolversButton = new QListWidgetItem( ui->listWidget );
    resolversButton->setIcon( QIcon( RESPATH "images/resolvers-settings.png" ) );
    resolversButton->setText( tr( "Resolvers" ) );
    resolversButton->setTextAlignment( Qt::AlignHCenter );
    resolversButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled );
    maxlen = qMax( fm.width( resolversButton->text() ), maxlen );

    QListWidgetItem *advancedButton = new QListWidgetItem( ui->listWidget );
    advancedButton->setIcon( QIcon( RESPATH "images/advanced-settings.png" ) );
    advancedButton->setText( tr( "Advanced" ) );
    advancedButton->setTextAlignment( Qt::AlignHCenter );
    advancedButton->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled );
    maxlen = qMax( fm.width( advancedButton->text() ), maxlen );

    maxlen += 15; // padding
    accountsButton->setSizeHint( QSize( maxlen, 60 ) );
    musicButton->setSizeHint( QSize( maxlen, 60 ) );
    lastfmButton->setSizeHint( QSize( maxlen, 60 ) );
    resolversButton->setSizeHint( QSize( maxlen, 60 ) );
    advancedButton->setSizeHint( QSize( maxlen, 60 ) );

#ifndef Q_WS_MAC
    // doesn't listen to sizehint...
    ui->listWidget->setMaximumWidth( maxlen + 8 );
#endif

    connect( ui->listWidget, SIGNAL( currentItemChanged( QListWidgetItem* ,QListWidgetItem* ) ), this, SLOT( changePage( QListWidgetItem*, QListWidgetItem* ) ) );
}
Example #2
0
SettingsDialog::SettingsDialog(Application *app, QWidget *parent) :
    QDialog(parent),
    _ui(new Ui::SettingsDialog)
{
    _ui->setupUi(this);
    setObjectName("Settings"); // required as group for saveGeometry call

    setWindowTitle(tr("%1 Settings").arg(Theme::instance()->appNameGUI()));

    QIcon generalIcon(QLatin1String(":/mirall/resources/settings.png"));
    QListWidgetItem *general = new QListWidgetItem(generalIcon, tr("General"), _ui->labelWidget);
    general->setSizeHint(QSize(0, 32));
    _ui->labelWidget->addItem(general);
    GeneralSettings *generalSettings = new GeneralSettings;
    _ui->stack->addWidget(generalSettings);

    QIcon networkIcon(QLatin1String(":/mirall/resources/network.png"));
    QListWidgetItem *network = new QListWidgetItem(networkIcon, tr("Network"), _ui->labelWidget);
    network->setSizeHint(QSize(0, 32));
    _ui->labelWidget->addItem(network);
    NetworkSettings *networkSettings = new NetworkSettings;
    _ui->stack->addWidget(networkSettings);
    connect(networkSettings, SIGNAL(proxySettingsChanged()), app, SLOT(slotSetupProxy()));
    connect(networkSettings, SIGNAL(proxySettingsChanged()), FolderMan::instance(), SLOT(slotScheduleAllFolders()));

    //connect(generalSettings, SIGNAL(resizeToSizeHint()), SLOT(resizeToSizeHint()));

    _accountSettings = new AccountSettings(this);
    addAccount(tr("Account"), _accountSettings);
    slotUpdateAccountState();

    connect( app, SIGNAL(folderStateChanged(Folder*)), _accountSettings, SLOT(slotUpdateFolderState(Folder*)));
    connect( app, SIGNAL(folderStateChanged(Folder*)), SLOT(slotUpdateAccountState()));

    connect( _accountSettings, SIGNAL(addASync()), app, SLOT(slotFolderAdded()) );
    connect( _accountSettings, SIGNAL(folderChanged()), app, SLOT(slotFoldersChanged()));
    connect( _accountSettings, SIGNAL(openFolderAlias(const QString&)),
             app, SLOT(slotFolderOpenAction(QString)));
    connect( _accountSettings, SIGNAL(openProgressDialog()), app, SLOT(slotItemProgressDialog()));

    connect( ProgressDispatcher::instance(), SIGNAL(progressInfo(QString, Progress::Info)),
             _accountSettings, SLOT(slotSetProgress(QString, Progress::Info)) );
    connect( ProgressDispatcher::instance(), SIGNAL(progressSyncProblem(QString,Progress::SyncProblem)),
             _accountSettings, SLOT(slotProgressProblem(QString,Progress::SyncProblem)) );

    _ui->labelWidget->setCurrentRow(_ui->labelWidget->row(general));

    connect(_ui->labelWidget, SIGNAL(currentRowChanged(int)),
            _ui->stack, SLOT(setCurrentIndex(int)));

    QPushButton *closeButton = _ui->buttonBox->button(QDialogButtonBox::Close);
    connect(closeButton, SIGNAL(pressed()), SLOT(accept()));

    MirallConfigFile cfg;
    cfg.restoreGeometry(this);
}
Example #3
0
void ConfigComputerDialog::createControls()
{
    lstView = new QListWidget(this);
    pages = new QStackedWidget(this);

    panMain = createMainWidget();
    panSolver = createSolverWidget();

    // List View
    lstView->setCurrentRow(0);
    lstView->setViewMode(QListView::IconMode);
    lstView->setResizeMode(QListView::Adjust);
    lstView->setMovement(QListView::Static);
    lstView->setFlow(QListView::TopToBottom);
    lstView->setIconSize(QSize(60, 60));
    lstView->setMinimumWidth(135);
    lstView->setMaximumWidth(135);
    lstView->setMinimumHeight((45+fontMetrics().height()*4)*5);
    connect(lstView, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),
            this, SLOT(doCurrentItemChanged(QListWidgetItem *, QListWidgetItem *)));

    QSize sizeItem(131, 85);

    // listView items
    QListWidgetItem *itemMain = new QListWidgetItem(icon("options-main"), tr("Main"), lstView);
    itemMain->setTextAlignment(Qt::AlignHCenter);
    itemMain->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
    itemMain->setSizeHint(sizeItem);

    QListWidgetItem *itemSolver = new QListWidgetItem(icon("options-solver"), tr("Solver"), lstView);
    itemSolver->setTextAlignment(Qt::AlignHCenter);
    itemSolver->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
    itemSolver->setSizeHint(sizeItem);

    pages->addWidget(panMain);
    pages->addWidget(panSolver);

    QHBoxLayout *layoutHorizontal = new QHBoxLayout();
    layoutHorizontal->addWidget(lstView);
    layoutHorizontal->addWidget(pages);

    // dialog buttons
    QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
    connect(buttonBox, SIGNAL(accepted()), this, SLOT(doAccept()));
    connect(buttonBox, SIGNAL(rejected()), this, SLOT(doReject()));

    QVBoxLayout *layout = new QVBoxLayout();
    layout->addLayout(layoutHorizontal);
    // layout->addStretch();
    layout->addWidget(buttonBox);

    setLayout(layout);
}
Example #4
0
void MainDialog::NowRun()
{
	centerWidget(this);
	this->show();

	obj_this = this;

	ui.setupUi(this);
	QIcon accountIcon(QLatin1String(":rc/user.png"));
	QListWidgetItem *account = new QListWidgetItem(accountIcon, "Account", ui.labelWidget);
	account->setSizeHint(QSize(0, 32));
	this->accountSettings = new AccountSettings(this);
	ui.stack->addWidget(this->accountSettings);

	QIcon syslogIcon(QLatin1String(":rc/loop_alt4.png"));
	QListWidgetItem *syslog = new QListWidgetItem(syslogIcon, "Log Activity", ui.labelWidget);
	syslog->setSizeHint(QSize(0, 32));
	this->logSettings = new LogSettings;
	ui.stack->addWidget(this->logSettings);

	QIcon generalIcon(QLatin1String(":rc/cog.png"));
	QListWidgetItem *general = new QListWidgetItem(generalIcon, "General", ui.labelWidget);
	general->setSizeHint(QSize(0, 32));
	this->generalSettings = new GeneralSettings(this);
	ui.stack->addWidget(this->generalSettings);

	ui.labelWidget->setCurrentRow(ui.labelWidget->row(account));

	connect(ui.labelWidget, SIGNAL(currentRowChanged(int)),
		ui.stack, SLOT(setCurrentIndex(int)));

	connect(this->ui.exitButton, SIGNAL(clicked()), this, SLOT(slotExit()));

	createTrayIcon();
	setTrayIcon();
	trayIcon->show();	
	
	agent_cfg = (struct agent_cfg*)calloc(1, sizeof(struct agent_cfg));
	agent_cfg->ev.on_log = this->onLog;

	if (agent_config_init(agent_cfg)) {
		jlog(L_ERROR, "agent_config_init failed");
		return;
	}

	if (agent_cfg->auto_connect != 0) {
		emit this->generalSettings->slotCheckAutoConnect();
		emit accountSettings->slotConnWaiting();
		emit this->slotFireConnection();
	}
}
void AddMonitorWidget::ShowFolder(string path)
{
    DIR  *dirp=NULL;
    dirp = opendir(path.c_str());
    if(dirp == NULL)
        return ;
    struct dirent  *dp;
    listwidget->clear();
    string     name;
    string     par;
    
    if(path != "/")
    {
        par = path + "/";
    }

    while(dp = readdir(dirp))
    {
        name = dp->d_name;
        if(name != "." && name != ".." && name[0] == '.')
            continue;
        QListWidgetItem*  item = new QListWidgetItem;
        item->setSizeHint(QSize(0,40));
        FileItem    *itemWidget = new FileItem(this);
        itemWidget->setItem(QString::fromStdString(name),QString::fromStdString(par));
        if(name == ".")
            listwidget->insertItem(0,item);
        else if(name == "..")
            listwidget->insertItem(1,item);
        else
            listwidget->addItem(item); 
        listwidget->setItemWidget(item,itemWidget);
        connect(itemWidget,SIGNAL(SaveSig(int,QString)),this,SLOT(SaveSlot(int,QString)));
    }
}
void KovanTestWindow::moveToDebugScreen()
{
	ui->debugActiveLabel->setVisible(true);
	ui->selectTestButton->setVisible(true);
	ui->debugMode1->setVisible(false);
	ui->debugMode2->setVisible(false);
	ui->debugMode3->setVisible(false);
	ui->testSelectionButton->setVisible(false);
	ui->errorFailLabel->setVisible(false);
	ui->errorLabel->setVisible(false);
	ui->passLabel->setVisible(false);

	ui->runSelectedTestsButton->setEnabled(false);

	sequencePosition = 0;
	engine->setDebug(true);

	ui->startScreen->setVisible(false);
	ui->debugScreen->setVisible(true);

	QList<KovanTest *>tests = engine->allTests();
	int i;
	ui->testListWidget->clear();
	for (i=0; i<tests.count(); i++) {
		QListWidgetItem *item = new QListWidgetItem(*(tests.at(i)->testName()));
		QVariant v = QVariant::fromValue<void*>(tests.at(i));
		item->setData(Qt::UserRole, v);
		item->setSizeHint(QSize(320,30));
		ui->testListWidget->addItem(item);
		connect(ui->testListWidget, SIGNAL(itemPressed(QListWidgetItem *)),
				this, SLOT(debugItemPressed(QListWidgetItem *)));
	}
	ui->testListWidget->setDragDropMode(QAbstractItemView::NoDragDrop);
}
void PluginFilterList::onSequenceChanged(GitlUpdateUIEvt &rcEvt)
{

    // rebuild the filter list 
    int iVPos = verticalScrollBar()->value();
    int iHPos = horizontalScrollBar()->value();

    this->clear();
    QStringList cFilterNames = rcEvt.getParameter("filter_names").toStringList();
    QVector<bool> cFilterEnableStatus = rcEvt.getParameter("filter_status").value< QVector<bool> >();

    for(int i = 0; i < cFilterNames.size(); i++)
    {
        QListWidgetItem* pcItem = new QListWidgetItem();
        this->addItem(pcItem);
        PluginFilterItem *pItemWidget = new PluginFilterItem(cFilterNames[i], cFilterEnableStatus[i]);
        pcItem->setSizeHint(pItemWidget->sizeHint());
        setItemWidget(pcItem, pItemWidget);
    }

    verticalScrollBar()->setValue(iVPos);
    horizontalScrollBar()->setValue(iHPos);


}
Example #8
0
void TimeTable::dropEvent(QDropEvent *event)
{
    qDebug()<<dragEnabled();
    if (event->mimeData()->hasFormat("timetable/item")) {
        if(!dragEnabled()){
            clear();
            setDragEnabled(true);
        }
         //Reading tasklist item properties
        QByteArray tmpd = event->mimeData()->data("timetable/item");
        QDataStream ds(&tmpd, QIODevice::ReadOnly);
        QColor color;
        QString str;
        QVariant duration;
        ds  >> color >> str >>duration;

        QListWidgetItem *item;
        item = new QListWidgetItem();
        item->setBackgroundColor(color);
        item->setText(str);
        item->setSizeHint(QSize(0,0));
        addItem(item);
        item->setData(1,duration);
        event->setDropAction(Qt::MoveAction);
        event->accept();
        refresh();
    }
}
Example #9
0
void TimeTable::addEmptyItem(){
    QListWidgetItem* item = new QListWidgetItem();
    item->setText("Drag&drop tasks here");
    item->setSizeHint(QSize(size().width(),size().height()));
    addItem(item);
    setDragEnabled(false);
}
void AdminWindow::addFoodCatagory(QString catagoryName, QImage imageName)
{
    QString s = QString::number(rowCount++);
    QWidget* w = new QWidget();
    QVBoxLayout* layout = new QVBoxLayout();
    w->setLayout(layout);

    FoodCatagory* newCatagory = new FoodCatagory();
    newCatagory->SetName(s);
    newCatagory->SetCatagory(catagoryName);
    newCatagory->SetImage(imageName);

    foodCatagories.push_back(newCatagory);

    layout->addWidget(newCatagory);

    QListWidgetItem* item = new QListWidgetItem();
    item->setSizeHint(QSize(0,60));


    item->setText(s);
    listWidget->setSpacing(2);
    listWidget->addItem(item);
    listWidget->setItemWidget(item, w);


    ui->scrollArea_FoodCatagory->setWidget(listWidget);

}
Example #11
0
//添加网络item
int PlaylistWindow::addItemFromNet(const QString &additem, const QString &link,int id, bool playNow)
{

    QListWidgetItem *item = new QListWidgetItem(additem,listWidget);
    int row = listWidget->row(item);
    //添加索引字符
    QString index = "";
    if(row<9) {
        index.append("0").append(QString::number(row+1,10).append(". "));
    } else {
          index = QString::number(row+1,10).append(". ");
    }
    item->setText(index.append(item->text()));
    //设置item高度
    item->setSizeHint(QSize(100,30));
    item->setIcon(QIcon(":/image/net.ico"));
    item->setWhatsThis(QString::number(id,10));
    item->setToolTip(additem);
    //设置media的类型
    item->setStatusTip(QString::number(MEDIA_TYPE_MUSIC,10));
    this->setItemNormalView(item);

    //添加到playlist 并将第一条设置为当前播放item
    playlist->addMedia(QUrl(link));
//	this->setItemPlay(row);
	if (playNow){
		this->doubleClicked = false;
		playlist->setCurrentIndex(row);
	}
    //qDebug("%d",playlist->currentIndex());
    return MEDIA_TYPE_MUSIC;

}
Example #12
0
void MusicPage::addMusics(int listId, QQueue<MusicInfo> musics)
{
    MusicInfo musicInfo;
    MusicList *musicList;
    int row;
    while (!musics.empty())
    {
        musicInfo = musics.front();
        musics.pop_front();
        musicList = (MusicList *)musicLists->widget(listId);
        row = musicList->count();
        QListWidgetItem *item = new QListWidgetItem(musicList);
        item->setSizeHint(QSize(item->sizeHint().width(), 30));
        musicList->insertItem(row, item);
        MusicListItem *itemwidget = new MusicListItem(musicList);
        itemwidget->setName(musicInfo.getName());
        itemwidget->setArtist(musicInfo.getArtist());
        musicList->setItemWidget(item, itemwidget);
        /*
        musicList->insertRow(row);
        QTableWidgetItem *nameItem = new QTableWidgetItem(musicInfo.getName());
        QTableWidgetItem *artiseItem = new QTableWidgetItem(musicInfo.getArtist());

        nameItem->setTextAlignment(Qt::AlignLeft | Qt::AlignVCenter);
        artiseItem->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);

        musicList->setItem(row, 0, nameItem);
        musicList->setItem(row, 1, artiseItem);

        musicList->setCurrentCell(row, 0);
        */
    }
}
void AdvanceButtonDialog::insertSlot()
{
    int current = ui->slotListWidget->currentRow();
    int count = ui->slotListWidget->count();

    if (current != (count - 1))
    {
        SimpleKeyGrabberButton *blankButton = new SimpleKeyGrabberButton(this);
        QListWidgetItem *item = new QListWidgetItem();
        ui->slotListWidget->insertItem(current, item);
        item->setData(Qt::UserRole, QVariant::fromValue<SimpleKeyGrabberButton*>(blankButton));
        QHBoxLayout *layout= new QHBoxLayout();
        layout->addWidget(blankButton);
        QWidget *widget = new QWidget();
        widget->setLayout(layout);
        item->setSizeHint(widget->sizeHint());
        ui->slotListWidget->setItemWidget(item, widget);
        ui->slotListWidget->setCurrentItem(item);
        connectButtonEvents(blankButton);
        blankButton->refreshButtonLabel();

        this->button->insertAssignedSlot(0, 0, current);
        updateSlotsScrollArea(0);
    }
}
/**
 * \brief Add the tasks from a sequence of ids
 *
 * Any tasks not available from the server are simply ignored
 */
void	TaskMainWindow::addTasks(const std::set<long>& taskids) {
	debug(LOG_DEBUG, DEBUG_LOG, 0, "adding %d tasks", taskids.size());
	time_t	now = time(NULL); // needed to recompute timestamps

	std::set<long>::const_iterator	i;
	for (i = taskids.begin(); i != taskids.end(); i++) {
		int	taskid = *i;
		try {
			// get the task info
			Astro::TaskInfo_var	info = taskqueue->info(taskid);
			info->lastchange = now - info->lastchange;

			// get parameters
			Astro::TaskParameters_var	params
				= taskqueue->parameters(taskid);

			// create a list item
			QListWidgetItem	*lwi = new QListWidgetItem();
			lwi->setSizeHint(QSize(300,90));
			TaskItem	*ti = new TaskItem(info, params);
			ui->tasklistWidget->addItem(lwi);
			ui->tasklistWidget->setItemWidget(lwi, ti);
		} catch (const Astro::NotFound) {
			debug(LOG_ERR, DEBUG_LOG, 0, "task %d not found",
				taskid);
		} catch (const std::exception& x) {
			debug(LOG_ERR, DEBUG_LOG, 0,
				"cannot get info for task %d", taskid);
		}
	}
}
Example #15
0
void MusicPage::addMusic(QString name, QString artist)
{
    MusicList *musicList = (MusicList *)musicLists->currentWidget();
    int row = musicList->count();

    QListWidgetItem *item = new QListWidgetItem(musicList);
    item->setSizeHint(QSize(item->sizeHint().width(), 30));
    musicList->insertItem(row, item);
    MusicListItem *itemwidget = new MusicListItem(musicList);
    itemwidget->setName(name);
    itemwidget->setArtist(artist);
    musicList->setItemWidget(item, itemwidget);
    musicList->setCurrentRow(row);
    /*
    musicList->insertRow(row);
    QTableWidgetItem *nameItem = new QTableWidgetItem(name);
    QTableWidgetItem *artiseItem = new QTableWidgetItem(artist);

    nameItem->setTextAlignment(Qt::AlignLeft | Qt::AlignVCenter);
    artiseItem->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);

    musicList->setItem(row, 0, nameItem);
    musicList->setItem(row, 1, artiseItem);

    musicList->setCurrentCell(row, 0);
    */
}
void AdvanceButtonDialog::updateSlotsScrollArea(int value)
{
    int index = ui->slotListWidget->currentRow();
    int itemcount = ui->slotListWidget->count();

    if (index == (itemcount - 1) && value >= 0)
    {
        // New slot added on the old blank button. Append
        // new blank button to the end of the list.
        appendBlankKeyGrabber();
    }

    // Go through all grabber buttons in list and possibly resize widgets.
    for (int i = 0; i < ui->slotListWidget->count(); i++)
    {
        QListWidgetItem *item = ui->slotListWidget->item(i);
        QWidget *widget = ui->slotListWidget->itemWidget(item);
        item->setSizeHint(widget->sizeHint());
    }

    // Alter interface if turbo cannot be used.
    changeTurboForSequences();

    emit slotsChanged();
}
Example #17
0
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget window;

    QLabel* title = new QLabel("Custom widgets on a QListWidget");
    title->setAlignment(Qt::AlignHCenter);

    QListWidget* list = new QListWidget;
    list->addItem("foo");


    for (int i = 0; i < 5; i++){
        QListWidgetItem* item;
        item = new QListWidgetItem(list);
        list->addItem(item);
//        QPushButton* button = new QPushButton("hey");
        Form *f = new Form;
        item->setSizeHint(f->minimumSizeHint());
        list->setItemWidget(item, f);
    }
    list->addItem("bar");

    QVBoxLayout* layout = new QVBoxLayout(&window);
    layout->addWidget(title);
    layout->addWidget(list);
    window.setLayout(layout);

    window.show();

    return a.exec();
}
void VConfirmDeletionDialog::initItems()
{
    m_listWidget->clear();

    for (int i = 0; i < m_items.size(); ++i) {
        ConfirmItemWidget *itemWidget = new ConfirmItemWidget(true,
                                                              m_items[i].m_name,
                                                              m_items[i].m_tip,
                                                              i,
                                                              this);
        connect(itemWidget, &ConfirmItemWidget::checkStateChanged,
                this, &VConfirmDeletionDialog::updateCountLabel);

        QListWidgetItem *item = new QListWidgetItem();
        QSize size = itemWidget->sizeHint();
        size.setHeight(size.height() * 2);
        item->setSizeHint(size);

        m_listWidget->addItem(item);
        m_listWidget->setItemWidget(item, itemWidget);
    }

    m_listWidget->setMinimumSize(m_listWidget->sizeHint());
    m_listWidget->setCurrentRow(-1);
    m_listWidget->setCurrentRow(0);
}
Example #19
0
void DownloadManager::download(QWebEngineDownloadItem *downloadItem)
{
    QString downloadPath;
    bool openFile = false;

    QString fileName = QFileInfo(downloadItem->path()).fileName();
    fileName = QUrl::fromPercentEncoding(fileName.toUtf8());

    if (m_downloadPath.isEmpty()) {
        // Ask what to do
        DownloadOptionsDialog optionsDialog(fileName, downloadItem->url(), mApp->activeWindow());
        optionsDialog.showExternalManagerOption(m_useExternalManager);
        optionsDialog.setLastDownloadOption(m_lastDownloadOption);

        switch (optionsDialog.exec()) {
        case 1: // Open
            openFile = true;
            downloadPath = QzTools::ensureUniqueFilename(DataPaths::path(DataPaths::Temp) + QLatin1Char('/') + fileName);
            m_lastDownloadOption = OpenFile;
            break;

        case 2: // Save
            downloadPath = QFileDialog::getSaveFileName(mApp->activeWindow(), tr("Save file as..."), m_lastDownloadPath + fileName);
            m_lastDownloadOption = SaveFile;
            break;

        case 3: // External manager
            startExternalManager(downloadItem->url());
            // fallthrough

        default:
            downloadItem->cancel();
            return;
        }
    } else {
        downloadPath = QzTools::ensureUniqueFilename(m_downloadPath + QL1C('/') + fileName);
    }

    if (downloadPath.isEmpty()) {
        downloadItem->cancel();
        return;
    }

    // Set download path and accept
    downloadItem->setPath(downloadPath);
    downloadItem->accept();

    // Create download item
    QListWidgetItem* listItem = new QListWidgetItem(ui->list);
    DownloadItem* downItem = new DownloadItem(listItem, downloadItem, QFileInfo(downloadPath).absolutePath(), QFileInfo(downloadPath).fileName(), openFile, this);
    connect(downItem, SIGNAL(deleteItem(DownloadItem*)), this, SLOT(deleteItem(DownloadItem*)));
    connect(downItem, SIGNAL(downloadFinished(bool)), this, SLOT(downloadFinished(bool)));
    ui->list->setItemWidget(listItem, downItem);
    listItem->setSizeHint(downItem->sizeHint());
    downItem->show();

    show();
    raise();
    activateWindow();
}
void AddressBarMenu::insertSeparator()
{
	QListWidgetItem *s = new QListWidgetItem(this);
	s->setSizeHint(QSize(width(), 9));
	s->setData(Qt::UserRole + 1, true);
	_hasSeparator = true;
}
Example #21
0
void AlbumInfoWidget::openWnd(const QStringList &businesses)
{
    AlbumTaskWidget *task = m_container->getCurrTask();
    if (!task)
    {
        return;
    }

    if (isHidden())
    {
        show();
    }

    int index = 0;
    uchar atype;
    QString business;

    task->getRelevance(atype, business);

    ui->comboBox->clear();
    ui->comboBox->addItems(businesses);

    foreach (const QString &name, businesses)
    {
        if (business == name)
        {
            ui->comboBox->setCurrentIndex(index);
            break;
        }

        index++;
    }

    // 根据当前相册的类型来决定是否显示用户信息列表
    if (USER_ALBUM == atype)
    {
        ui->userRadioButton->setChecked(true);
        ui->usersListWidgets1->clear();
        showUsers();

        UserInfoItems items = task->getUsers();
        UserInfoItems::const_iterator iter = items.constBegin();
        while (iter != items.constEnd())
        {
            UserInfoWidget *widget = new UserInfoWidget(ui->usersListWidgets1->count(), iter.key(), iter.value(), *this);
            QListWidgetItem *item = new QListWidgetItem(ui->usersListWidgets1);
            item->setSizeHint(widget->sizeHint());
            ui->usersListWidgets1->setItemWidget(item, widget);
            ++iter;
        }
    }
    else
    {
        ui->sampleRadioButton->setChecked(true);
        showUsers(false);
    }

    ui->telnoLineEdit->clear();
}
Example #22
0
//从本地添加items
int PlaylistWindow::addItemFromLocal(const QStringList &addList,bool playNow)
{

    int mediaType;
    bool flag=true;
    for(int i=0;i<addList.length();i++) {

        QString label = addList.at(i);
        QFileInfo fileInfo(label);
        if(fileInfo.exists()) {
            QStringList list = label.split("/");
            QListWidgetItem *item = new QListWidgetItem(list.last(),listWidget);
            int row = listWidget->row(item);

            //添加索引字符
            QString index = "";
            if(row<9) {
                index.append("0").append(QString::number(row+1,10).append(". "));
            } else {
                  index = QString::number(row+1,10).append(". ");
            }
            item->setText(index.append(item->text()));
            //设置item高度
            item->setSizeHint(QSize(100,30));
            item->setToolTip(label);
            //设置media的类型
            int type = getMediaType(label);

            if(type != -1){
                if(type == MEDIA_TYPE_MUSIC){
                    item->setIcon(QIcon(":/image/music.gif"));
                }
                else{
                    item->setIcon(QIcon(":/image/video.ico"));
                }
                item->setStatusTip(QString::number(type,10));
            }
            this->setItemNormalView(item);
            //添加到playlist 并将第一条设置为当前播放item
			qDebug() << playlist->mediaCount();
            playlist->addMedia(QUrl::fromLocalFile(label));
            if(flag){
                flag=false;
                mediaType = type;
                if(playNow){
                    //this->setItemPlay(row);
					playlist->setCurrentIndex(row);

                }else{
                    listWidget->setCurrentItem(item);
                }
            }
        } else {
            continue;
        }
    }

	return mediaType;
}
Example #23
0
void DlgListSelect::SetItems(const QStringList &items)
{
    for (int i = 0; i < items.size(); ++i) {
        QListWidgetItem* widgetItem = new QListWidgetItem(items.at(i));
        widgetItem->setSizeHint(QSize(-1, 22));
        ui->listWidget->addItem(widgetItem);
    }
}
Example #24
0
            void PinList::addItem_impl(PinConfig & PinCfg)
            {
                QListWidgetItem * Item = new QListWidgetItem(ui->PinConfigList);
                ui->PinConfigList->addItem(Item);

                PinEdit * PinWidget = new PinEdit(PinCfg, ui->PinConfigList);
                Item->setSizeHint(PinWidget->minimumSizeHint());
                ui->PinConfigList->setItemWidget(Item, PinWidget);
            }
Example #25
0
/****************************************************************************
**
** Copyright (C) 2015
**
** This file is generated by the Magus toolkit
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
****************************************************************************/

// Include
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QMessageBox>
#include <QDir>
#include <QLabel>
#include <QImageReader>
#include <QListWidgetItem>
#include <QMouseEvent>
#include <QProcess>
#include "tool_audiowidget.h"

namespace Magus
{
    //****************************************************************************/
    QtAudioAndText::QtAudioAndText(const QString& iconDir,
                                   Source source,
                                   const QString& name,
                                   const QString& baseName,
                                   const QSize& size,
                                   QWidget* parent) : QWidget(parent)
    {
        setContentsMargins(-8, -8, -8, -8);
        setMinimumSize(size);
        setMaximumSize(size);
        QHBoxLayout* mainLayout = new QHBoxLayout;
        QVBoxLayout* audioAndNameLayout = new QVBoxLayout;
        mPixmapAudioPlay = QPixmap(iconDir + TOOL_AUDIOWIDGET_ICON_PLAY);
        mPixmapAudioPause = QPixmap(iconDir + TOOL_AUDIOWIDGET_ICON_PAUSE);
        mPixmapAudioStop = QPixmap(iconDir + TOOL_AUDIOWIDGET_ICON_STOP);

        mName = name;
        mBaseName = baseName;
        mSource = source;
        mBaseNameEdit = new QLineEdit;
        mBaseNameEdit->setText(mBaseName);
        mBaseNameEdit->setEnabled(false);

        mTextureLabel = new QLabel();
        mTextureLabel->setPixmap(mPixmapAudioStop);
        mTextureLabel->setScaledContents(true);
        setMouseTracking(true);

        // Layout
        audioAndNameLayout->addWidget(mTextureLabel, 1000);
        audioAndNameLayout->addWidget(mBaseNameEdit, 1);
        mainLayout->addLayout(audioAndNameLayout);
        setLayout(mainLayout);
    }

    //****************************************************************************/
    QtAudioAndText::~QtAudioAndText(void)
    {
    }

    //****************************************************************************/
    void QtAudioAndText::setPlay(void)
    {
        mTextureLabel->setPixmap(mPixmapAudioPlay);
    }

    //****************************************************************************/
    void QtAudioAndText::setPause(void)
    {
        mTextureLabel->setPixmap(mPixmapAudioPause);
    }

    //****************************************************************************/
    void QtAudioAndText::setStop(void)
    {
        mTextureLabel->setPixmap(mPixmapAudioStop);
    }

    //****************************************************************************/
    //****************************************************************************/
    //****************************************************************************/
    QtAudioListWidget::QtAudioListWidget(QWidget* parent) : QListWidget(parent)
    {
        setMouseTracking(true);
        setAcceptDrops(true);
        setDropIndicatorShown(true);
    }

    //****************************************************************************/
    QtAudioListWidget::~QtAudioListWidget(void)
    {
    }

    //****************************************************************************/
    void QtAudioListWidget::keyPressEvent(QKeyEvent* event)
    {
        switch (event->key())
        {
            case Qt::Key_Delete:
            {
                if (count() > 0)
                {
                    QListWidgetItem* item = currentItem();
                    if (item)
                    {
                        QWidget* widget = itemWidget(item);
                        if (widget)
                        {
                            int r = row(item);
                            QtAudioAndText* audioAndText = static_cast<QtAudioAndText*>(widget);
                            QString name = audioAndText->mName;
                            QString baseName = audioAndText->mBaseName;
                            removeItemWidget(item);
                            takeItem(r);
                            emit assetDeleted(name, baseName);
                        }
                    }
                }
            }
            break;
        }

        event->accept();
    }

    //****************************************************************************/
    void QtAudioListWidget::dropEvent(QDropEvent* event)
    {
        const QMimeData *mimeData = event->mimeData();
        if (mimeData->hasUrls())
        {
            QList<QUrl> urlList = mimeData->urls();
            for (int i = 0; i < urlList.size(); ++i)
            {
                QString baseName = urlList.at(i).fileName();
                if (isTypeBasedOnExtension(baseName, MAGUS_SUPPORTED_AUDIO_FORMATS, MAGUS_SUPPORTED_AUDIO_FORMATS_LENGTH))
                {
                    QString name = urlList.at(i).path();
                    stripLeadingSlashes(name);
                    //QMessageBox::information(0, QString("drop"), name); // test
                    emit audioFileDropped(name, baseName);
                }
            }
        }
        event->acceptProposedAction();
    }

    //****************************************************************************/
    void QtAudioListWidget::dragEnterEvent(QDragEnterEvent *event)
    {
        event->acceptProposedAction();
    }

    //****************************************************************************/
    void QtAudioListWidget::dragMoveEvent(QDragMoveEvent *event)
    {
        event->acceptProposedAction();
    }

    //****************************************************************************/
    //****************************************************************************/
    //****************************************************************************/
    QtAudioWidget::QtAudioWidget(const QString& iconDir, QWidget* parent) : QWidget(parent)
    {
        mNameAudio = QString("");
        mBaseNameAudio = QString("");
        mSystemCommandEditAsset = QString("");
        mCurrentAudioPlaying = QString("");
        mLastSelectedAudioAndText = 0;
        mAudioPlayer = new QMediaPlayer();
        connect(mAudioPlayer, SIGNAL(positionChanged(qint64)), this, SLOT(handlePositionChanged(qint64)));
        mContextMenu = 0;
        mIconDir = iconDir;
        setWindowTitle(QString("Texture selection"));
        mTextureSize = QSize(128, 128);
        QHBoxLayout* mainLayout = new QHBoxLayout;
        QVBoxLayout* textureSelectionLayout = new QVBoxLayout;

        // Define selection widget (QtAudioListWidget)
        mSelectionList = new QtAudioListWidget();
        mSelectionList->setViewMode(QListView::ListMode);
        mSelectionList->setWrapping(true);
        mSelectionList->setWordWrap(true);
        mSelectionList->setSpacing(0);
        mSelectionList->setUniformItemSizes(true);
        mSelectionList->setMovement(QListView::Snap);
        mSelectionList->setFlow(QListView::LeftToRight);
        connect(mSelectionList, SIGNAL(audioFileDropped(QString,QString)), this, SLOT(handleAudioFileDropped(QString,QString)));
        connect(mSelectionList, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(handleSelected(QListWidgetItem*)));
        connect(mSelectionList, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(handleDoubleClicked(QListWidgetItem*)));
        connect(mSelectionList, SIGNAL(itemEntered(QListWidgetItem*)), this, SLOT(handleMouseOver(QListWidgetItem*)));
        connect(mSelectionList, SIGNAL(assetDeleted(QString,QString)), this, SLOT(handleAssetDeleted(QString,QString)));

        // Layout
        textureSelectionLayout->addWidget(mSelectionList);
        mainLayout->addLayout(textureSelectionLayout);
        setLayout(mainLayout);
    }

    //****************************************************************************/
    QtAudioWidget::~QtAudioWidget(void)
    {
    }

    //****************************************************************************/
    void QtAudioWidget::addAudio(Source source, const QString& name, const QString& baseName)
    {
        QtAudioAndText* audioAndText = new QtAudioAndText(mIconDir, source, name, baseName, mTextureSize, this);
        QListWidgetItem* item = new QListWidgetItem();
        item->setSizeHint(mTextureSize); // Must be present, otherwise the widget is not shown
        mSelectionList->addItem(item);
        mSelectionList->setItemWidget(item, audioAndText);
        buildContextMenu();
    }
Example #26
0
void NewAnnotationDialog::reloadAttributes() {
  ui->attributesListWidget->clear();
  for (auto attribute : attributes) {
    QListWidgetItem* item = new QListWidgetItem(ui->attributesListWidget);
    AttributeItem* attributeItem = new AttributeItem(attribute);
    item->setSizeHint(attributeItem->minimumSizeHint());
    ui->attributesListWidget->setItemWidget(item, attributeItem);
  }
}
void SettingsWindow::AddCategoryToList(const QString& title, const QString& icon)
{
    QListWidgetItem* button = new QListWidgetItem();
    button->setIcon(QIcon(icon));
    button->setText(title);
    button->setTextAlignment(Qt::AlignVCenter);
    button->setSizeHint(QSize(28, 28));
    button->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
    m_categories->addItem(button);
}
Example #28
0
void AttributesWidget::reload() {
  ui->attributesListWidget->clear();
  if (!frame) return;
  for (auto attribute : frame->getAttributes()) {
    QListWidgetItem *item = new QListWidgetItem(ui->attributesListWidget);

    AttributeItem *attributeItem = new AttributeItem(attribute.second);
    item->setSizeHint(attributeItem->minimumSizeHint());
    ui->attributesListWidget->setItemWidget(item, attributeItem);
  }
}
Example #29
0
void ThumbnailsView::addListWidgetItem(Image *image)
{
    QPixmap thumbnail = QPixmap();
    thumbnail.loadFromData(image->thumbnail());

    QListWidgetItem *item = new QListWidgetItem();
    item->setData(Qt::DecorationRole, thumbnail);
    item->setData(Qt::UserRole, image->id());
    item->setSizeHint(QSize(220, 180));
    addItem(item);
}
Example #30
0
void Submit_manager::show_submit(Submit_form *student)
{
    // 학생들의 정보와 제출여부를 화면에 출력한다.

    QListWidgetItem *subject = new QListWidgetItem();

    subject->setSizeHint(QSize(0,50));

    ui->student_list->addItem(subject);
    ui->student_list->setItemWidget(subject, student);
}