BrowserWindow::BrowserWindow(QWidget *parent, MafwRegistryAdapter *mafwRegistry) : BaseWindow(parent), ui(new Ui::BrowserWindow) { ui->setupUi(this); ui->searchHideButton->setIcon(QIcon::fromTheme("general_close")); ui->indicator->setRegistry(mafwRegistry); this->setAttribute(Qt::WA_DeleteOnClose); objectModel = new QStandardItemModel(this); objectProxyModel = new HeaderAwareProxyModel(this); objectProxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); objectProxyModel->setSourceModel(objectModel); ui->objectList->setModel(objectProxyModel); ui->objectList->viewport()->installEventFilter(this); connect(new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_F), this), SIGNAL(activated()), this, SLOT(onSearchRequested())); connect(ui->objectList->verticalScrollBar(), SIGNAL(valueChanged(int)), ui->indicator, SLOT(poke())); connect(ui->searchEdit, SIGNAL(textChanged(QString)), this, SLOT(onSearchTextChanged(QString))); connect(ui->searchHideButton, SIGNAL(clicked()), this, SLOT(onSearchHideButtonClicked())); // Set the initial orientation later, after child class constructor QTimer::singleShot(0, this, SLOT(orientationInit())); }
PluginSearchDialog::PluginSearchDialog(const QString &service, QWidget *parent) : Dialog(parent), m_typeModel(new PluginSearchTypeModel(this)), m_typeSelector(new ValueSelector(tr("Search for"), this)), m_searchEdit(new QLineEdit(this)), m_buttonBox(new QDialogButtonBox(QDialogButtonBox::Cancel, Qt::Vertical, this)), m_historyButton(new QPushButton(tr("History"), this)), m_searchButton(new QPushButton(tr("Done"), this)), m_layout(new QGridLayout(this)) { setWindowTitle(tr("Search")); m_typeModel->setService(service); m_typeSelector->setModel(m_typeModel); m_typeSelector->setCurrentIndex(qMax(0, m_typeModel->match("name", Settings::instance()->defaultSearchType(service)))); m_searchEdit->setPlaceholderText(tr("Search")); m_searchButton->setDefault(true); m_searchButton->setEnabled(false); m_buttonBox->addButton(m_historyButton, QDialogButtonBox::ActionRole); m_buttonBox->addButton(m_searchButton, QDialogButtonBox::ActionRole); m_layout->addWidget(m_searchEdit, 0, 0); m_layout->addWidget(m_typeSelector, 1, 0); m_layout->addWidget(m_buttonBox, 0, 1, 2, 1, Qt::AlignBottom); connect(m_typeSelector, SIGNAL(valueChanged(QVariant)), this, SLOT(onSearchTypeChanged())); connect(m_searchEdit, SIGNAL(textChanged(QString)), this, SLOT(onSearchTextChanged(QString))); connect(m_buttonBox, SIGNAL(rejected()), this, SLOT(reject())); connect(m_historyButton, SIGNAL(clicked()), this, SLOT(showHistoryDialog())); connect(m_searchButton, SIGNAL(clicked()), this, SLOT(search())); }
// Initialize the dialog widgets and connect the signals/slots void SearchDialog::createDialogContent() { ui->setupUi(dialog); connect(&StelApp::getInstance(), SIGNAL(languageChanged()), this, SLOT(retranslate())); connect(ui->closeStelWindow, SIGNAL(clicked()), this, SLOT(close())); connect(ui->lineEditSearchSkyObject, SIGNAL(textChanged(const QString&)), this, SLOT(onSearchTextChanged(const QString&))); connect(ui->pushButtonGotoSearchSkyObject, SIGNAL(clicked()), this, SLOT(gotoObject())); onSearchTextChanged(ui->lineEditSearchSkyObject->text()); connect(ui->lineEditSearchSkyObject, SIGNAL(returnPressed()), this, SLOT(gotoObject())); connect(ui->lineEditSearchSkyObject, SIGNAL(selectionChanged()), this, SLOT(setHasSelectedFlag())); connect(ui->lineEditSearchSkyObject, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showContextMenu(QPoint))); ui->lineEditSearchSkyObject->installEventFilter(this); ui->RAAngleSpinBox->setDisplayFormat(AngleSpinBox::HMSLetters); ui->DEAngleSpinBox->setDisplayFormat(AngleSpinBox::DMSSymbols); ui->DEAngleSpinBox->setPrefixType(AngleSpinBox::NormalPlus); connect(ui->RAAngleSpinBox, SIGNAL(valueChanged()), this, SLOT(manualPositionChanged())); connect(ui->DEAngleSpinBox, SIGNAL(valueChanged()), this, SLOT(manualPositionChanged())); connect(ui->alphaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->betaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->gammaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->deltaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->epsilonPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->zetaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->etaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->thetaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->iotaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->kappaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->lambdaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->muPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->nuPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->xiPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->omicronPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->piPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->rhoPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->sigmaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->tauPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->upsilonPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->phiPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->chiPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->psiPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->omegaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->checkBoxUseSimbad, SIGNAL(clicked(bool)), this, SLOT(enableSimbadSearch(bool))); ui->checkBoxUseSimbad->setChecked(useSimbad); populateSimbadServerList(); int idx = ui->serverListComboBox->findData(simbadServerUrl, Qt::UserRole, Qt::MatchCaseSensitive); if (idx==-1) { // Use University of Strasbourg as default idx = ui->serverListComboBox->findData(QVariant(DEF_SIMBAD_URL), Qt::UserRole, Qt::MatchCaseSensitive); } ui->serverListComboBox->setCurrentIndex(idx); connect(ui->serverListComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(selectSimbadServer(int))); connect(ui->checkBoxUseStartOfWords, SIGNAL(clicked(bool)), this, SLOT(enableStartOfWordsAutofill(bool))); ui->checkBoxUseStartOfWords->setChecked(useStartOfWords); // list views initialization connect(ui->objectTypeComboBox, SIGNAL(activated(int)), this, SLOT(updateListWidget(int))); connect(ui->searchInListLineEdit, SIGNAL(textChanged(QString)), this, SLOT(searchListChanged(QString))); connect(ui->searchInEnglishCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateListTab())); updateListTab(); // Set the focus directly on the line edit if (ui->lineEditSearchSkyObject->isEnabled()) ui->lineEditSearchSkyObject->setFocus(); }
/** * \brief Constructor * @param parent as the parent widget * @param name as the object name */ UBLibActionBar::UBLibActionBar(QWidget *parent, const char *name):QWidget(parent) , mCrntButtonSet(eButtonSet_Default) , mPreviousButtonSet(eButtonSet_Default) , mButtonGroup(NULL) , mSearchBar(NULL) , mLayout(NULL) , mpFavoriteAction(NULL) , mpSocialAction(NULL) , mpDeleteAction(NULL) , mpSearchAction(NULL) , mpCloseAction(NULL) , mpRemoveFavorite(NULL) , mpNewFolderAction(NULL) , mpFavoriteBtn(NULL) , mpSocialBtn(NULL) , mpDeleteBtn(NULL) , mpSearchBtn(NULL) , mpCloseBtn(NULL) , mpRemoveFavoriteBtn(NULL) , mpNewFolderBtn(NULL) , bFavorite(false) , bIsInTrash(false) { setObjectName(name); setStyleSheet(QString("background: #EEEEEE; border-radius : 10px; border : 2px solid #999999;")); setAcceptDrops(true); mButtonGroup = new QButtonGroup(this); mSearchBar = new QLineEdit(this); mSearchBar->setStyleSheet(QString("background-color:white; border-radius : 10px; padding : 2px;")); connect(mSearchBar, SIGNAL(returnPressed()), this, SLOT(onActionSearch())); mLayout = new QHBoxLayout(); setLayout(mLayout); setMaximumHeight(ACTIONBAR_HEIGHT); // Create the actions mpFavoriteAction = new QAction(QIcon(":/images/libpalette/miniFavorite.png"), tr("Add to favorites"), this); mpSocialAction = new QAction(QIcon(":/images/libpalette/social.png"), tr("Share"), this); mpSearchAction = new QAction(QIcon(":/images/libpalette/miniSearch.png"), tr("Search"), this); mpDeleteAction = new QAction(QIcon(":/images/libpalette/miniTrash.png"), tr("Delete"), this); mpCloseAction = new QAction(QIcon(":/images/close.svg"), tr("Back to folder"), this); mpRemoveFavorite = new QAction(QIcon(":/images/libpalette/trash_favorite.svg"), tr("Remove from favorites"), this); mpNewFolderAction = new QAction(QIcon(":/images/libpalette/miniNewFolder.png"), tr("Create new folder"), this); // Create the buttons mpFavoriteBtn = new UBActionButton(this, mpFavoriteAction); mpSocialBtn = new UBActionButton(this, mpSocialAction); mpSearchBtn = new UBActionButton(this, mpSearchAction); mpDeleteBtn = new UBActionButton(this, mpDeleteAction); mpCloseBtn = new UBActionButton(this, mpCloseAction); mpRemoveFavoriteBtn = new UBActionButton(this, mpRemoveFavorite); mpNewFolderBtn = new UBActionButton(this, mpNewFolderAction); // Initialize the buttons mpSearchBtn->setEnabled(false); mpNewFolderBtn->setEnabled(false); // Add the buttons to the button group mButtonGroup->addButton(mpFavoriteBtn); mButtonGroup->addButton(mpSocialBtn); mButtonGroup->addButton(mpSearchBtn); mButtonGroup->addButton(mpDeleteBtn); mButtonGroup->addButton(mpCloseBtn); mButtonGroup->addButton(mpRemoveFavoriteBtn); mButtonGroup->addButton(mpNewFolderBtn); // Connect signals & slots connect(mpFavoriteAction,SIGNAL(triggered()), this, SLOT(onActionFavorite())); connect(mpSocialAction,SIGNAL(triggered()), this, SLOT(onActionSocial())); connect(mpSearchAction,SIGNAL(triggered()), this, SLOT(onActionSearch())); connect(mpDeleteAction,SIGNAL(triggered()), this, SLOT(onActionTrash())); connect(mpCloseAction, SIGNAL(triggered()), this, SLOT(onActionClose())); connect(mpRemoveFavorite, SIGNAL(triggered()), this, SLOT(onActionRemoveFavorite())); connect(mSearchBar, SIGNAL(textChanged(QString)), this, SLOT(onSearchTextChanged(QString))); connect(mpNewFolderAction, SIGNAL(triggered()), this, SLOT(onActionNewFolder())); // Build the default toolbar mLayout->addWidget(mpFavoriteBtn); mLayout->addWidget(mpSocialBtn); mLayout->addWidget(mpNewFolderBtn); mLayout->addWidget(mSearchBar); mLayout->addWidget(mpSearchBtn); mLayout->addWidget(mpDeleteBtn); mLayout->addWidget(mpCloseBtn); mLayout->addWidget(mpRemoveFavoriteBtn); setButtons(eButtonSet_Default); }
// Initialize the dialog widgets and connect the signals/slots void SearchDialog::createDialogContent() { ui->setupUi(dialog); connect(&StelApp::getInstance(), SIGNAL(languageChanged()), this, SLOT(retranslate())); connect(ui->closeStelWindow, SIGNAL(clicked()), this, SLOT(close())); connect(ui->lineEditSearchSkyObject, SIGNAL(textChanged(const QString&)), this, SLOT(onSearchTextChanged(const QString&))); connect(ui->pushButtonGotoSearchSkyObject, SIGNAL(clicked()), this, SLOT(gotoObject())); onSearchTextChanged(ui->lineEditSearchSkyObject->text()); connect(ui->lineEditSearchSkyObject, SIGNAL(returnPressed()), this, SLOT(gotoObject())); connect(ui->lineEditSearchSkyObject, SIGNAL(selectionChanged()), this, SLOT(setHasSelectedFlag())); connect(ui->lineEditSearchSkyObject, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showContextMenu(QPoint))); ui->lineEditSearchSkyObject->installEventFilter(this); #ifdef Q_OS_WIN //Kinetic scrolling for tablet pc and pc QList<QWidget *> addscroll; addscroll << ui->objectsListWidget; installKineticScrolling(addscroll); #endif populateCoordinateSystemsList(); populateCoordinateAxis(); int idx = ui->coordinateSystemComboBox->findData(getCurrentCoordinateSystemKey(), Qt::UserRole, Qt::MatchCaseSensitive); if (idx==-1) { // Use equatorialJ2000 as default idx = ui->coordinateSystemComboBox->findData(QVariant("equatorialJ2000"), Qt::UserRole, Qt::MatchCaseSensitive); } ui->coordinateSystemComboBox->setCurrentIndex(idx); connect(ui->coordinateSystemComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(setCoordinateSystem(int))); connect(ui->AxisXSpinBox, SIGNAL(valueChanged()), this, SLOT(manualPositionChanged())); connect(ui->AxisYSpinBox, SIGNAL(valueChanged()), this, SLOT(manualPositionChanged())); connect(ui->alphaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->betaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->gammaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->deltaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->epsilonPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->zetaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->etaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->thetaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->iotaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->kappaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->lambdaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->muPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->nuPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->xiPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->omicronPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->piPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->rhoPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->sigmaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->tauPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->upsilonPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->phiPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->chiPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->psiPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->omegaPushButton, SIGNAL(clicked(bool)), this, SLOT(greekLetterClicked())); connect(ui->checkBoxUseSimbad, SIGNAL(clicked(bool)), this, SLOT(enableSimbadSearch(bool))); ui->checkBoxUseSimbad->setChecked(useSimbad); populateSimbadServerList(); idx = ui->serverListComboBox->findData(simbadServerUrl, Qt::UserRole, Qt::MatchCaseSensitive); if (idx==-1) { // Use University of Strasbourg as default idx = ui->serverListComboBox->findData(QVariant(DEF_SIMBAD_URL), Qt::UserRole, Qt::MatchCaseSensitive); } ui->serverListComboBox->setCurrentIndex(idx); connect(ui->serverListComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(selectSimbadServer(int))); connect(ui->checkBoxUseStartOfWords, SIGNAL(clicked(bool)), this, SLOT(enableStartOfWordsAutofill(bool))); ui->checkBoxUseStartOfWords->setChecked(useStartOfWords); // list views initialization connect(ui->objectTypeComboBox, SIGNAL(activated(int)), this, SLOT(updateListWidget(int))); connect(ui->searchInListLineEdit, SIGNAL(textChanged(QString)), this, SLOT(searchListChanged(QString))); connect(ui->searchInEnglishCheckBox, SIGNAL(toggled(bool)), this, SLOT(updateListTab())); connect(ui->tabWidget, SIGNAL(currentChanged(int)), this, SLOT(updateListTab())); updateListTab(); // Set the focus directly on the line edit if (ui->lineEditSearchSkyObject->isEnabled()) ui->lineEditSearchSkyObject->setFocus(); }