QToolButton* KexiRecordNavigator::createAction(const KGuiItem& item) { QToolButton *toolButton; d->lyr->addWidget(toolButton = new KexiSmallToolButton(item.icon(), QString(), this), 0, Qt::AlignVCenter); toolButton->setFocusPolicy(Qt::NoFocus); toolButton->setToolTip(item.toolTip()); toolButton->setWhatsThis(item.whatsThis()); return toolButton; }
/** * Attaches this tool to the toolbar * * @param parent * * @return QWidget* */ QWidget *StatisticsTool::createToolBarWidget(QStackedWidget *parent) { QWidget *hbox = new QWidget(parent); QIntValidator *ival = new QIntValidator(hbox); ival->setRange(1, 100); QLabel *sampleLabel = new QLabel("Box Samples:"); p_sampsEdit = new QLineEdit(hbox); p_sampsEdit->setValidator(ival); p_sampsEdit->setMaximumWidth(50); QString samps; samps.setNum(p_boxSamps); p_sampsEdit->setText(samps); connect(p_sampsEdit, SIGNAL(editingFinished()), this, SLOT(changeBoxSamples())); QLabel *lineLabel = new QLabel("Box Lines:"); p_linesEdit = new QLineEdit(hbox); p_linesEdit->setValidator(ival); p_linesEdit->setMaximumWidth(50); QString lines; lines.setNum(p_boxLines); p_linesEdit->setText(lines); connect(p_linesEdit, SIGNAL(editingFinished()), this, SLOT(changeBoxLines())); QToolButton *showButton = new QToolButton(); showButton->setText("Show"); showButton->setToolTip(""); QString text = ""; showButton->setWhatsThis(text); connect(showButton, SIGNAL(clicked()), p_dialog, SLOT(show())); QHBoxLayout *layout = new QHBoxLayout; layout->setMargin(0); layout->addWidget(sampleLabel); layout->addWidget(p_sampsEdit); layout->addWidget(lineLabel); layout->addWidget(p_linesEdit); layout->addWidget(showButton); layout->addStretch(1); hbox->setLayout(layout); return hbox; }
QToolButton* courseEditDockWidget::newToolButton(int cp_num, int cr_num, const QIcon& icon, const QString& text) { Q_UNUSED(icon); QToolButton* button = new QToolButton(); button->setToolButtonStyle(Qt::ToolButtonIconOnly); button->setToolTip(text); button->setProperty("name",cr_num); Symbol* symstr; for (int i=0; i<controller->getMap()->getNumSymbols(); i++) { symstr=controller->getMap()->getSymbol(i); if (symstr->getNumberAsString()==reinterpret_cast<courseWidget::cpVector*>(cw->getcontrolpoints(rownum))->at(cp_num)->value(cw->xml_names[cr_num])) { button->setIcon(QPixmap::fromImage(symstr->getIcon(controller->getMap(),false).copy())); break; } } button->setText(text); button->setWhatsThis("<a href=\"courses.html#setup\">See more</a>"); return button; }
/*! Constructor * \brief This class implements the project management * * This also handles the mouse and keyboad events, and sends * when appropiate, the file names to be opened by the parent. * * \param parent Parent of the widget. */ Project::Project(QWidget *parent) : QWidget(parent) { projectLibrary = 0; m_libraryFileName = ""; m_libraryName = ""; QVBoxLayout *layout = new QVBoxLayout(this); QToolBar *toolbar = new QToolBar; QToolButton *projNew = new QToolButton(); projNew->setIcon(QIcon(Qucs::bitmapDirectory() + "project-new.png")); projNew->setStatusTip(tr("Creates a new project")); projNew->setToolTip(tr("Creates a new project")); projNew->setWhatsThis(tr("New Project\n\nCreates a new project")); QToolButton *projOpen = new QToolButton(); projOpen->setIcon(QIcon(Qucs::bitmapDirectory() + "fileopen.png")); projOpen->setStatusTip(tr("Opens an existing project")); projOpen->setToolTip(tr("Opens an existing project")); projOpen->setWhatsThis(tr("Open Project\n\nOpens an existing project")); QToolButton *addToProj = new QToolButton(); addToProj->setIcon(QIcon(Qucs::bitmapDirectory() + "filenew.png")); addToProj->setStatusTip(tr("Adds a file to current project")); addToProj->setToolTip(tr("Adds a file to current project")); addToProj->setWhatsThis(tr("Add File to Project\n\nAdds a file to current project")); QToolButton *projDel = new QToolButton(); projDel->setIcon(QIcon(Qucs::bitmapDirectory() + "fileclose.png")); projDel->setStatusTip(tr("Removes a file from current project")); projDel->setToolTip(tr("Removes a file from current project")); projDel->setWhatsThis(tr("Remove from Project\n\nRemoves a file from current project")); QToolButton *projClose = new QToolButton(); projClose->setIcon(QIcon(Qucs::bitmapDirectory() + "project-close.png")); projClose->setStatusTip(tr("Closes the current project")); projClose->setToolTip(tr("Closes the current project")); projClose->setWhatsThis(tr("Close Project\n\nCloses the current project")); connect(projNew, SIGNAL(clicked()), this, SLOT(slotNewProject())); connect(projOpen, SIGNAL(clicked()), this, SLOT(slotOpenProject())); connect(addToProj, SIGNAL(clicked()), this, SLOT(slotAddToProject())); connect(projDel, SIGNAL(clicked()), this, SLOT(slotRemoveFromProject())); connect(projClose, SIGNAL(clicked()), this, SLOT(slotCloseProject())); toolbar->addWidget(projNew); toolbar->addWidget(projOpen); toolbar->addWidget(addToProj); toolbar->addWidget(projDel); toolbar->addWidget(projClose); m_projectsSidebar = new ComponentsSidebar(this); connect(m_projectsSidebar, SIGNAL(itemClicked(const QString&, const QString&)), this, SLOT(slotOnClicked(const QString&, const QString&))); connect(m_projectsSidebar, SIGNAL(itemDoubleClicked(const QString&, const QString&)), this, SLOT(slotOnDoubleClicked(const QString&, const QString&))); layout->addWidget(toolbar); layout->addWidget(m_projectsSidebar); setWindowTitle(tr("Project View")); }
/*! * \brief Constructor. * * \param parent Parent of the widget. */ QuickOpen::QuickOpen(QWidget *parent) : QMenu(parent) { // Set window geometry setMinimumSize(300,300); QVBoxLayout *layout = new QVBoxLayout(this); // Create the toolbar QToolBar *toolbar = new QToolBar(this); QToolButton *buttonUp = new QToolButton(this); buttonUp->setIcon(Caneda::icon("go-up")); buttonUp->setShortcut(Qt::Key_Backspace); buttonUp->setStatusTip(tr("Go up one folder")); buttonUp->setToolTip(tr("Go up one folder")); buttonUp->setWhatsThis(tr("Go up one folder")); buttonBack = new QToolButton(this); buttonBack->setIcon(Caneda::icon("go-previous")); buttonBack->setShortcut(Qt::ALT + Qt::Key_Left); buttonBack->setStatusTip(tr("Go previous folder")); buttonBack->setToolTip(tr("Go previous folder")); buttonBack->setWhatsThis(tr("Go previous folder")); buttonBack->setEnabled(false); buttonForward = new QToolButton(this); buttonForward->setIcon(Caneda::icon("go-next")); buttonForward->setShortcut(Qt::ALT + Qt::Key_Right); buttonForward->setStatusTip(tr("Go next folder")); buttonForward->setToolTip(tr("Go next folder")); buttonForward->setWhatsThis(tr("Go next folder")); buttonForward->setEnabled(false); QToolButton *buttonHome = new QToolButton(this); buttonHome->setIcon(Caneda::icon("go-home")); buttonHome->setShortcut(Qt::CTRL + Qt::Key_Home); buttonHome->setStatusTip(tr("Go to the home folder")); buttonHome->setToolTip(tr("Go to the home folder")); buttonHome->setWhatsThis(tr("Go to the home folder")); // Create the filter button QToolButton *buttonFilters = new QToolButton(this); QMenu *filterMenu = new QMenu(this); filterGroup = new QActionGroup(this); buttonFilters->setIcon(Caneda::icon("configure")); buttonFilters->setPopupMode(QToolButton::InstantPopup); buttonFilters->setMenu(filterMenu); filterNone = new QAction(Caneda::icon("view-sidetree"), tr("Show all"), filterGroup); QAction *filtersSeparator = new QAction(filterGroup); filtersSeparator->setSeparator(true); filterSchematics = new QAction(Caneda::icon("application-x-caneda-schematic"), tr("Show schematics"), filterGroup); filterSymbols = new QAction(Caneda::icon("application-x-caneda-symbol"), tr("Show symbols"), filterGroup); filterLayouts = new QAction(Caneda::icon("application-x-caneda-layout"), tr("Show layouts"), filterGroup); filterSimulations = new QAction(Caneda::icon("application-x-spice-simulation-raw"), tr("Show simulations"), filterGroup); filterText = new QAction(Caneda::icon("text-plain"), tr("Show text files"), filterGroup); filterNone->setCheckable(true); filterSchematics->setCheckable(true); filterSymbols->setCheckable(true); filterLayouts->setCheckable(true); filterSimulations->setCheckable(true); filterText->setCheckable(true); Settings *settings = Settings::instance(); int index = settings->currentValue("quickopen/filter").toInt(); filterGroup->actions().at(index)->setChecked(true); filterMenu->addActions(filterGroup->actions()); // Add the buttons to the toolbar toolbar->addWidget(buttonUp); toolbar->addWidget(buttonBack); toolbar->addWidget(buttonForward); toolbar->addWidget(buttonHome); QWidget *spacer = new QWidget(this); spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); toolbar->addWidget(spacer); toolbar->addWidget(buttonFilters); layout->addWidget(toolbar); // Set lineEdit properties m_filterEdit = new QLineEdit(this); m_filterEdit->setClearButtonEnabled(true); m_filterEdit->setPlaceholderText(tr("Search...")); m_filterEdit->installEventFilter(this); layout->addWidget(m_filterEdit); // Create a new filesystem model m_model = new QFileSystemModel(this); m_model->setIconProvider(new IconProvider()); m_model->setRootPath(QDir::homePath()); // Create proxy model and set its properties. m_proxyModel = new FilterProxyModel(this); m_proxyModel->setDynamicSortFilter(true); m_proxyModel->setSortCaseSensitivity(Qt::CaseInsensitive); m_proxyModel->setSourceModel(m_model); // Create a list view, set properties and proxy model m_listView = new QListView(this); m_listView->setModel(m_proxyModel); m_listView->setRootIndex(m_proxyModel->mapFromSource(m_model->index(QDir::homePath()))); layout->addWidget(m_listView); // Signals and slots connections connect(buttonUp, SIGNAL(clicked()), this, SLOT(slotUpFolder())); connect(buttonBack, SIGNAL(clicked()), this, SLOT(slotBackFolder())); connect(buttonForward, SIGNAL(clicked()), this, SLOT(slotForwardFolder())); connect(buttonHome, SIGNAL(clicked()), this, SLOT(slotHomeFolder())); connect(filterNone, SIGNAL(triggered(bool)), this, SLOT(filterFileTypes())); connect(filterSchematics, SIGNAL(triggered(bool)), this, SLOT(filterFileTypes())); connect(filterSymbols, SIGNAL(triggered(bool)), this, SLOT(filterFileTypes())); connect(filterLayouts, SIGNAL(triggered(bool)), this, SLOT(filterFileTypes())); connect(filterSimulations, SIGNAL(triggered(bool)), this, SLOT(filterFileTypes())); connect(filterText, SIGNAL(triggered(bool)), this, SLOT(filterFileTypes())); connect(m_filterEdit, SIGNAL(textChanged(const QString &)), this, SLOT(filterTextChanged())); connect(m_filterEdit, SIGNAL(returnPressed()), this, SLOT(itemSelected())); connect(m_listView, SIGNAL(activated(QModelIndex)), this, SLOT(itemSelected())); // Filter the selected filetype and start with the focus on the filter filterGroup->actions().at(index)->trigger(); m_filterEdit->setFocus(); }