void FlickrWindow::readSettings() { KConfig config("kipirc"); KConfigGroup grp = config.group(QString("%1Export Settings").arg(m_serviceName)); m_token = grp.readEntry("token"); m_exportHostTagsCheckBox->setChecked(grp.readEntry("Export Host Tags", false)); m_extendedTagsButton->setChecked(grp.readEntry("Show Extended Tag Options", false)); m_addExtraTagsCheckBox->setChecked(grp.readEntry("Add Extra Tags", false)); m_stripSpaceTagsCheckBox->setChecked(grp.readEntry("Strip Space From Tags", false)); m_stripSpaceTagsCheckBox->setEnabled(m_exportHostTagsCheckBox->isChecked()); if (!m_interface->hasFeature(KIPI::HostSupportsTags)) { m_exportHostTagsCheckBox->setEnabled(false); m_stripSpaceTagsCheckBox->setEnabled(false); } m_publicCheckBox->setChecked(grp.readEntry("Public Sharing", false)); m_familyCheckBox->setChecked(grp.readEntry("Family Sharing", false)); m_friendsCheckBox->setChecked(grp.readEntry("Friends Sharing", false)); m_extendedPublicationButton->setChecked(grp.readEntry("Show Extended Publication Options", false)); int safetyLevel = m_safetyLevelComboBox->findData(QVariant(grp.readEntry("Safety Level", 0))); if (safetyLevel == -1) { safetyLevel = 0; } m_safetyLevelComboBox->setCurrentIndex(safetyLevel); int contentType = m_contentTypeComboBox->findData(QVariant(grp.readEntry("Content Type", 0))); if (contentType == -1) { contentType = 0; } m_contentTypeComboBox->setCurrentIndex(contentType); if (grp.readEntry("Resize", false)) { m_resizeCheckBox->setChecked(true); m_dimensionSpinBox->setEnabled(true); } else { m_resizeCheckBox->setChecked(false); m_dimensionSpinBox->setEnabled(false); } m_sendOriginalCheckBox->setChecked(grp.readEntry("Send original", false)); m_dimensionSpinBox->setValue(grp.readEntry("Maximum Width", 1600)); m_imageQualitySpinBox->setValue(grp.readEntry("Image Quality", 85)); KConfigGroup dialogGroup = config.group(QString("%1Export Dialog").arg(m_serviceName)); restoreDialogSize(dialogGroup); }
Amarok2ConfigDialog::Amarok2ConfigDialog( QWidget *parent, const char* name, KConfigSkeleton *config ) : KConfigDialog( parent, name, config ) { DEBUG_BLOCK setAttribute( Qt::WA_DeleteOnClose ); ConfigDialogBase *general = new GeneralConfig( this ); ConfigDialogBase *collection = new CollectionConfig( this ); ConfigDialogBase *metadata = new MetadataConfig( this ); ConfigDialogBase *playback = new PlaybackConfig( this ); ConfigDialogBase *notify = new NotificationsConfig( this ); ConfigDialogBase *database = new DatabaseConfig( this, config ); ConfigDialogBase *plugins = new PluginsConfig( this ); ConfigDialogBase *scripts = new ScriptsConfig( this ); //ConfigDialogBase* mediadevice = new MediadeviceConfig( this ); addPage( general, i18nc( "Miscellaneous settings", "General" ), "preferences-other-amarok", i18n( "Configure General Options" ) ); addPage( collection, i18n( "Local Collection" ), "drive-harddisk", i18n( "Configure Local Collection" ) ); addPage( metadata, i18n( "Metadata" ), "amarok_playcount", i18n( "Configure Metadata Handling" ) ); addPage( playback, i18n( "Playback" ), "preferences-media-playback-amarok", i18n( "Configure Playback" ) ); addPage( notify, i18n( "Notifications" ), "preferences-indicator-amarok", i18n( "Configure Notifications" ) ); addPage( database, i18n( "Database" ), "server-database", i18n( "Configure Database" ) ); addPage( plugins, i18n( "Plugins" ), "preferences-plugin", i18n( "Configure Plugins" ) ); addPage( scripts, i18n( "Scripts" ), "preferences-plugin-script", i18n( "Configure Scripts" ) ); //addPage( mediadevice, i18n( "Media Devices" ), "preferences-multimedia-player-amarok", i18n( "Configure Portable Player Support" ) ); setButtons( Help | Ok | Apply | Cancel ); restoreDialogSize( Amarok::config( "ConfigDialog" ) ); }
void WMWindow::readSettings() { KConfig config("kipirc"); KConfigGroup group = config.group(QString("Wikimedia Commons settings")); m_widget->readSettings(group); KConfigGroup group2 = config.group(QString("Wikimedia Commons dialog")); restoreDialogSize(group2); }
void FbWindow::readSettings() { KConfig config("kipirc"); KConfigGroup grp = config.group("Facebook Settings"); m_accessToken = grp.readEntry("Access Token"); m_sessionExpires = grp.readEntry("Session Expires", 0); if (m_accessToken.isEmpty()) { m_sessionKey = grp.readEntry("Session Key"); m_sessionSecret = grp.readEntry("Session Secret"); } m_currentAlbumID = grp.readEntry("Current Album", QString()); if (grp.readEntry("Resize", false)) { m_widget->m_resizeChB->setChecked(true); m_widget->m_dimensionSpB->setEnabled(true); m_widget->m_imageQualitySpB->setEnabled(true); } else { m_widget->m_resizeChB->setChecked(false); m_widget->m_dimensionSpB->setEnabled(false); m_widget->m_imageQualitySpB->setEnabled(false); } m_widget->m_dimensionSpB->setValue(grp.readEntry("Maximum Width", 604)); m_widget->m_imageQualitySpB->setValue(grp.readEntry("Image Quality", 85)); if (m_import) { KConfigGroup dialogGroup = config.group("Facebook Import Dialog"); restoreDialogSize(dialogGroup); } else { KConfigGroup dialogGroup = config.group("Facebook Export Dialog"); restoreDialogSize(dialogGroup); } }
void KioExportWindow::restoreSettings() { kDebug() << "pass here"; KConfig config("kipirc"); KConfigGroup group = config.group(CONFIG_GROUP); m_exportWidget->setHistory(group.readEntry(HISTORY_URL_PROPERTY, QStringList())); m_exportWidget->setTargetUrl(group.readEntry(TARGET_URL_PROPERTY, KUrl())); KConfigGroup group2 = config.group(QString("Kio Export Dialog")); restoreDialogSize(group2); }
KraftWizard::KraftWizard(QWidget *parent, const char* name, bool modal ) :KAssistantDialog( parent ), mCustomerBox( 0 ), mParent( parent ) { setObjectName( name ); setModal( modal ); KConfigGroup config( KraftSettings::self()->config(), "AddressPickerWindowSizes" ); restoreDialogSize( config ); }
ExportWorksheetDialog::ExportWorksheetDialog(QWidget* parent) : KDialog(parent) { mainWidget = new QWidget(this); ui.setupUi(mainWidget); KUrlCompletion *comp = new KUrlCompletion(); ui.kleFileName->setCompletionObject(comp); ui.bOpen->setIcon( KIcon("document-open") ); ui.cbFormat->addItem(KIcon("application-pdf"), "Portable data format (PDF)"); ui.cbFormat->addItem(KIcon("image-x-eps"), "Encapsulated PostScript (EPS)"); ui.cbFormat->addItem(KIcon("image-svg+xml"), "Scalable Vector Graphics (SVG)"); ui.cbFormat->insertSeparator(3); ui.cbFormat->addItem(KIcon("image-x-generic"), "Portable Network Graphics (PNG)"); ui.cbExportArea->addItem(i18n("Object's bounding box")); ui.cbExportArea->addItem(i18n("Current selection")); ui.cbExportArea->addItem(i18n("Complete worksheet")); ui.cbResolution->addItem(QString::number(QApplication::desktop()->physicalDpiX()) + " (" + i18n("desktop") + ')'); ui.cbResolution->addItem("100"); ui.cbResolution->addItem("150"); ui.cbResolution->addItem("200"); ui.cbResolution->addItem("300"); ui.cbResolution->addItem("600"); ui.cbResolution->setValidator(new QIntValidator(ui.cbResolution)); setMainWidget(mainWidget); setButtons(KDialog::Ok | KDialog::User1 | KDialog::Cancel); connect( ui.cbFormat, SIGNAL(currentIndexChanged(int)), SLOT(formatChanged(int)) ); connect( ui.bOpen, SIGNAL(clicked()), this, SLOT (selectFile()) ); connect( ui.kleFileName, SIGNAL(textChanged(QString)), this, SLOT(fileNameChanged(QString)) ); connect(this,SIGNAL(user1Clicked()), this, SLOT(toggleOptions())); setCaption(i18n("Export worksheet")); setWindowIcon(KIcon("document-export-database")); //restore saved setting KConfigGroup conf(KSharedConfig::openConfig(), "ExportWorksheetDialog"); ui.cbFormat->setCurrentIndex(conf.readEntry("Format", 0)); ui.cbExportArea->setCurrentIndex(conf.readEntry("Area", 0)); ui.chkExportBackground->setChecked(conf.readEntry("Background", true)); ui.cbResolution->setCurrentIndex(conf.readEntry("Resolution", 0)); m_showOptions = conf.readEntry("ShowOptions", false); ui.gbOptions->setVisible(m_showOptions); m_showOptions ? setButtonText(KDialog::User1,i18n("Hide Options")) : setButtonText(KDialog::User1,i18n("Show Options")); restoreDialogSize(conf); }
DPluginDialog::DPluginDialog(QWidget* const parent, const QString& objName) : QDialog(parent), m_buttons(nullptr), m_tool(nullptr) { setObjectName(objName); setWindowFlags((windowFlags() & ~Qt::Dialog) | Qt::Window | Qt::WindowCloseButtonHint | Qt::WindowMinMaxButtonsHint); m_buttons = new QDialogButtonBox(this); restoreDialogSize(); }
void EXIFEditDialog::readSettings() { KConfig config("kipirc"); KConfigGroup group = config.group("Metadata Edit Settings"); showPage(group.readEntry("EXIF Edit Page", 0)); d->captionPage->setCheckedSyncJFIFComment(group.readEntry("Sync JFIF Comment", true)); d->captionPage->setCheckedSyncHOSTComment(group.readEntry("Sync Host Comment", true)); d->captionPage->setCheckedSyncXMPCaption(group.readEntry("Sync XMP Caption", true)); d->captionPage->setCheckedSyncIPTCCaption(group.readEntry("Sync IPTC Caption", true)); d->datetimePage->setCheckedSyncHOSTDate(group.readEntry("Sync Host Date", true)); d->datetimePage->setCheckedSyncXMPDate(group.readEntry("Sync XMP Date", true)); d->datetimePage->setCheckedSyncIPTCDate(group.readEntry("Sync IPTC Date", true)); KConfigGroup group2 = config.group(QString("EXIF Edit Dialog")); restoreDialogSize(group2); }
bool ArkViewer::viewInInternalViewer(const QString& fileName, const KMimeType::Ptr& mimeType) { const KUrl fileUrl(fileName); setCaption(fileUrl.fileName()); restoreDialogSize(KGlobal::config()->group("Viewer")); QFrame *header = new QFrame(m_widget); QHBoxLayout *headerLayout = new QHBoxLayout(header); QLabel *iconLabel = new QLabel(header); headerLayout->addWidget(iconLabel); iconLabel->setPixmap(KIconLoader::global()->loadMimeTypeIcon(mimeType->iconName(), KIconLoader::Desktop)); iconLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum); KVBox *headerRight = new KVBox(header); headerLayout->addWidget(headerRight); new QLabel(QString(QLatin1String( "<qt><b>%1</b></qt>" )) .arg(fileUrl.fileName()), headerRight ); new QLabel(mimeType->comment(), headerRight); header->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum); m_part = KMimeTypeTrader::self()->createPartInstanceFromQuery<KParts::ReadOnlyPart>(mimeType->name(), m_widget, this); if (!m_part.data()) { return false; } if (m_part.data()->browserExtension()) { connect(m_part.data()->browserExtension(), SIGNAL(openUrlRequestDelayed(KUrl,KParts::OpenUrlArguments,KParts::BrowserArguments)), SLOT(slotOpenUrlRequestDelayed(KUrl,KParts::OpenUrlArguments,KParts::BrowserArguments))); } m_part.data()->openUrl(fileUrl); return true; }
void GPSEditDialog::readSettings() { KConfig config("kipirc"); KConfigGroup group = config.group(QString("GPS Sync Settings")); KConfigGroup group2 = config.group(QString("GPS Edit Dialog")); restoreDialogSize(group2); QString mapType = group.readEntry("Map Type", QString("G_NORMAL_MAP")); if (mapType == QString("G_SATELLITE_TYPE")) mapType = QString("G_SATELLITE_MAP"); else if (mapType == QString("G_MAP_TYPE")) mapType = QString("G_NORMAL_MAP"); else if (mapType == QString("G_HYBRID_TYPE")) mapType = QString("G_HYBRID_MAP"); d->worldMap->setMapType(mapType); d->worldMap->setZoomLevel(group.readEntry("Zoom Level", 8)); d->altitudeInput->blockSignals(true); d->latitudeInput->blockSignals(true); d->longitudeInput->blockSignals(true); if (d->hasGPSInfo) { d->altitudeInput->setText(QString::number(d->gpsData.altitude(), 'g', 12)); d->latitudeInput->setText(QString::number(d->gpsData.latitude(), 'g', 12)); d->longitudeInput->setText(QString::number(d->gpsData.longitude(), 'g', 12)); } else { d->altitudeInput->setText(QString::number(group.readEntry("GPS Last Altitude", 0.0), 'g', 12)); d->latitudeInput->setText(QString::number(group.readEntry("GPS Last Latitude", 0.0), 'g', 12)); d->longitudeInput->setText(QString::number(group.readEntry("GPS Last Longitude", 0.0), 'g', 12)); } d->altitudeInput->blockSignals(false); d->latitudeInput->blockSignals(false); d->longitudeInput->blockSignals(false); d->worldMap->setGPSPosition(d->latitudeInput->text(), d->longitudeInput->text()); d->worldMap->resized(); }
KonqHistoryDialog::KonqHistoryDialog(KonqMainWindow *parent) : KDialog(parent), m_mainWindow(parent) { setCaption(i18nc("@title:window", "History")); setButtons(KDialog::Close); QVBoxLayout *mainLayout = new QVBoxLayout(mainWidget()); mainLayout->setMargin(0); m_historyView = new KonqHistoryView(mainWidget()); connect(m_historyView->treeView(), SIGNAL(doubleClicked(QModelIndex)), this, SLOT(slotOpenWindowForIndex(QModelIndex))); connect(m_historyView, &KonqHistoryView::openUrlInNewWindow, this, &KonqHistoryDialog::slotOpenWindow); connect(m_historyView, &KonqHistoryView::openUrlInNewTab, this, &KonqHistoryDialog::slotOpenTab); KActionCollection *collection = m_historyView->actionCollection(); QToolBar *toolBar = new QToolBar(mainWidget()); toolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); QToolButton *sortButton = new QToolButton(toolBar); sortButton->setText(i18nc("@action:inmenu Parent of 'By Name' and 'By Date'", "Sort")); sortButton->setIcon(QIcon::fromTheme(QStringLiteral("view-sort-ascending"))); sortButton->setPopupMode(QToolButton::InstantPopup); sortButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); QMenu *sortMenu = new QMenu(sortButton); sortMenu->addAction(collection->action(QStringLiteral("byName"))); sortMenu->addAction(collection->action(QStringLiteral("byDate"))); sortButton->setMenu(sortMenu); toolBar->addWidget(sortButton); toolBar->addSeparator(); toolBar->addAction(collection->action(QStringLiteral("preferences"))); mainLayout->addWidget(toolBar); mainLayout->addWidget(m_historyView); restoreDialogSize(KSharedConfig::openConfig()->group("History Dialog")); // give focus to the search line edit when opening the dialog (#240513) m_historyView->lineEdit()->setFocus(); }
DirOpener::DirOpener( Config *_config, Mode _mode, QWidget *parent, Qt::WFlags f ) : KDialog( parent, f ), dialogAborted( false ), config( _config ), mode( _mode ) { setCaption( i18n("Add folder") ); setWindowIcon( KIcon("folder") ); if( mode == Convert ) { setButtons( KDialog::User1 | KDialog::Cancel ); } else if( mode == ReplayGain ) { setButtons( KDialog::Ok | KDialog::Cancel ); } setButtonText( KDialog::User1, i18n("Proceed") ); setButtonIcon( KDialog::User1, KIcon("go-next") ); const int fontHeight = QFontMetrics(QApplication::font()).boundingRect("M").size().height(); connect( this, SIGNAL(user1Clicked()), this, SLOT(proceedClicked()) ); connect( this, SIGNAL(okClicked()), this, SLOT(addClicked()) ); page = DirOpenPage; QWidget *widget = new QWidget(); QGridLayout *mainGrid = new QGridLayout( widget ); QGridLayout *topGrid = new QGridLayout(); mainGrid->addLayout( topGrid, 0, 0 ); setMainWidget( widget ); lSelector = new QLabel( i18n("1. Select directory"), widget ); QFont font; font.setBold( true ); lSelector->setFont( font ); topGrid->addWidget( lSelector, 0, 0 ); lOptions = new QLabel( i18n("2. Set conversion options"), widget ); topGrid->addWidget( lOptions, 0, 1 ); // draw a horizontal line QFrame *lineFrame = new QFrame( widget ); lineFrame->setFrameShape( QFrame::HLine ); lineFrame->setFrameShadow( QFrame::Sunken ); mainGrid->addWidget( lineFrame, 1, 0 ); if( mode == ReplayGain ) { lSelector->hide(); lOptions->hide(); lineFrame->hide(); } // Dir Opener Widget dirOpenerWidget = new QWidget( widget ); mainGrid->addWidget( dirOpenerWidget, 2, 0 ); QVBoxLayout *box = new QVBoxLayout( dirOpenerWidget ); QHBoxLayout *directoryBox = new QHBoxLayout(); box->addLayout( directoryBox ); QLabel *labelFilter = new QLabel( i18n("Directory:"), dirOpenerWidget ); directoryBox->addWidget( labelFilter ); uDirectory = new KUrlRequester( KUrl("kfiledialog:///soundkonverter-add-media"), dirOpenerWidget ); uDirectory->setMode( KFile::Directory | KFile::ExistingOnly | KFile::LocalOnly ); directoryBox->addWidget( uDirectory ); QLabel *labelDirectory = new QLabel( i18n("Only add selected file formats:"), dirOpenerWidget ); box->addWidget( labelDirectory ); QHBoxLayout *fileTypesBox = new QHBoxLayout(); box->addLayout( fileTypesBox ); QStringList codecList; fileTypes = new KListWidget( dirOpenerWidget ); if( mode == Convert ) { codecList = config->pluginLoader()->formatList( PluginLoader::Decode, PluginLoader::CompressionType(PluginLoader::InferiorQuality|PluginLoader::Lossy|PluginLoader::Lossless|PluginLoader::Hybrid) ); } else if( mode == ReplayGain ) { codecList = config->pluginLoader()->formatList( PluginLoader::ReplayGain, PluginLoader::CompressionType(PluginLoader::InferiorQuality|PluginLoader::Lossy|PluginLoader::Lossless|PluginLoader::Hybrid) ); } for( int i = 0; i < codecList.size(); i++ ) { if( codecList.at(i) == "audio cd" ) continue; QListWidgetItem *newItem = new QListWidgetItem( codecList.at(i), fileTypes ); newItem->setFlags( Qt::ItemIsEnabled | Qt::ItemIsUserCheckable ); newItem->setCheckState( Qt::Checked ); } QVBoxLayout *fileTypesFormatsBox = new QVBoxLayout(); fileTypesBox->addLayout( fileTypesFormatsBox ); fileTypesFormatsBox->addWidget( fileTypes ); QLabel *formatHelp = new QLabel( "<a href=\"format-help\">" + i18n("Are you missing some file formats?") + "</a>", this ); connect( formatHelp, SIGNAL(linkActivated(const QString&)), this, SLOT(showHelp()) ); fileTypesFormatsBox->addWidget( formatHelp ); QVBoxLayout *fileTypesButtonsBox = new QVBoxLayout(); fileTypesBox->addLayout( fileTypesButtonsBox ); fileTypesButtonsBox->addStretch(); pSelectAll = new KPushButton( KIcon("edit-select-all"), i18n("Select all"), dirOpenerWidget ); fileTypesButtonsBox->addWidget( pSelectAll ); connect( pSelectAll, SIGNAL(clicked()), this, SLOT(selectAllClicked()) ); pSelectNone = new KPushButton( KIcon("application-x-zerosize"), i18n("Select none"), dirOpenerWidget ); fileTypesButtonsBox->addWidget( pSelectNone ); connect( pSelectNone, SIGNAL(clicked()), this, SLOT(selectNoneClicked()) ); cRecursive = new QCheckBox( i18n("Recursive"), dirOpenerWidget ); cRecursive->setChecked( true ); cRecursive->setToolTip( i18n("If checked, files from subdirectories will be added, too.") ); fileTypesButtonsBox->addWidget( cRecursive ); fileTypesButtonsBox->addStretch(); // Conversion Options Widget options = new Options( config, i18n("Select your desired output options and click on \"Ok\"."), widget ); mainGrid->addWidget( options, 2, 0 ); adjustSize(); options->hide(); const KUrl url = KFileDialog::getExistingDirectoryUrl( uDirectory->url(), this ); if( !url.isEmpty() ) uDirectory->setUrl( url ); else dialogAborted = true; // Prevent the dialog from beeing too wide because of the directory history if( parent && width() > parent->width() ) setInitialSize( QSize(parent->width()-fontHeight,sizeHint().height()) ); KSharedConfig::Ptr conf = KGlobal::config(); KConfigGroup group = conf->group( "DirOpener" ); restoreDialogSize( group ); }
OrganizeCollectionDialog::OrganizeCollectionDialog( const Meta::TrackList &tracks, const QStringList &folders, const QString &targetExtension, QWidget *parent, const char *name, bool modal, const QString &caption, QFlags<KDialog::ButtonCode> buttonMask ) : KDialog( parent ) , ui( new Ui::OrganizeCollectionDialogBase ) , m_detailed( true ) , m_schemeModified( false ) , m_conflict( false ) { Q_UNUSED( name ) setCaption( caption ); setModal( modal ); setButtons( buttonMask ); showButtonSeparator( true ); m_targetFileExtension = targetExtension; if( tracks.size() > 0 ) m_allTracks = tracks; KVBox *mainVBox = new KVBox( this ); setMainWidget( mainVBox ); QWidget *mainContainer = new QWidget( mainVBox ); ui->setupUi( mainContainer ); m_trackOrganizer = new TrackOrganizer( m_allTracks, this ); ui->folderCombo->insertItems( 0, folders ); if( ui->folderCombo->contains( AmarokConfig::organizeDirectory() ) ) ui->folderCombo->setCurrentItem( AmarokConfig::organizeDirectory() ); else ui->folderCombo->setCurrentIndex( 0 ); //TODO possible bug: assumes folder list is not empty. ui->overwriteCheck->setChecked( AmarokConfig::overwriteFiles() ); ui->optionsWidget->setReplaceSpaces( AmarokConfig::replaceSpace() ); ui->optionsWidget->setPostfixThe( AmarokConfig::ignoreThe() ); ui->optionsWidget->setVfatCompatible( AmarokConfig::vfatCompatible() ); ui->optionsWidget->setAsciiOnly( AmarokConfig::asciiOnly() ); ui->optionsWidget->setRegexpText( AmarokConfig::replacementRegexp() ); ui->optionsWidget->setReplaceText( AmarokConfig::replacementString() ); ui->previewTableWidget->horizontalHeader()->setResizeMode( QHeaderView::ResizeToContents ); ui->conflictLabel->setText(""); QPalette p = ui->conflictLabel->palette(); KColorScheme::adjustForeground( p, KColorScheme::NegativeText ); // TODO this isn't working, the color is still normal ui->conflictLabel->setPalette( p ); ui->previewTableWidget->sortItems( 0, Qt::AscendingOrder ); // only show the options when the Options button is checked connect( ui->optionsButton, SIGNAL(toggled(bool)), ui->organizeCollectionWidget, SLOT(setVisible(bool)) ); connect( ui->optionsButton, SIGNAL(toggled(bool)), ui->optionsWidget, SLOT(setVisible(bool)) ); ui->organizeCollectionWidget->hide(); ui->optionsWidget->hide(); connect( ui->folderCombo, SIGNAL(currentIndexChanged(QString)), SLOT(slotUpdatePreview()) ); connect( ui->organizeCollectionWidget, SIGNAL(schemeChanged()), SLOT(slotUpdatePreview()) ); connect( ui->optionsWidget, SIGNAL(optionsChanged()), SLOT(slotUpdatePreview())); // to show the conflict error connect( ui->overwriteCheck, SIGNAL(stateChanged(int)), SLOT(slotOverwriteModeChanged()) ); connect( this, SIGNAL(finished(int)), ui->organizeCollectionWidget, SLOT(slotSaveFormatList()) ); connect( this, SIGNAL(accepted()), ui->organizeCollectionWidget, SLOT(onAccept()) ); connect( this, SIGNAL(accepted()), SLOT(slotDialogAccepted()) ); connect( ui->folderCombo, SIGNAL(currentIndexChanged(QString)), SLOT(slotEnableOk(QString)) ); slotEnableOk( ui->folderCombo->currentText() ); restoreDialogSize( Amarok::config( "OrganizeCollectionDialog" ) ); QTimer::singleShot( 0, this, SLOT(slotUpdatePreview()) ); }
ClockPhotoDialog::ClockPhotoDialog(KIPI::Interface* interface, QWidget* parent) : KDialog(parent), d(new ClockPhotoDialogPrivate) { d->interface = interface; // Initialize the variables. d->image = new QPixmap(); d->photoDateTime = new QDateTime(); deltaNegative = false; deltaDays = 0; deltaHours = 0; deltaMinutes = 0; deltaSeconds = 0; // This dialog should be modal with three buttons: Ok, Cancel, and load // photo. For this third button, the User1 button from KDialog is used. // The Ok button is only enable when a photo is loaded. setCaption(i18n("Determine time difference with clock photo")); setButtons(User1 | Ok | Cancel); button(User1)->setText(i18n("Load different photo")); button(User1)->setIcon(KIcon("document-open")); button(Ok)->setEnabled(false); // Everything else is stacked in a vertical box. setMainWidget(new QWidget(this)); QVBoxLayout *vBox = new QVBoxLayout(mainWidget()); // Some explanation. QLabel *explanationLabel = new QLabel(i18n("If you have a photo in your set with a clock or " "another external time source on it, you can load " "it here and set the indicator to the (date and) " "time displayed. The difference of your internal " "camera clock will be determined from this " "setting.")); explanationLabel->setWordWrap(true); vBox->addWidget(explanationLabel); // The image is displayed by loading an ImageDisplay in the scroll area, // which is an overloaded QLabel. See the Image Viewer Example from the Qt // documentation (http://doc.trolltech.com/4.5/widgets-imageviewer.html). d->scrollArea = new QScrollArea(this); d->scrollArea->setBackgroundRole(QPalette::Window); d->scrollArea->setAlignment(Qt::AlignCenter); vBox->addWidget(d->scrollArea); d->imageLabel = new ImageDisplay(d->scrollArea); d->imageLabel->setBackgroundRole(QPalette::Base); d->imageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); d->imageLabel->setScaledContents(true); // The label is also used to display text (warning and waiting messages). d->imageLabel->setWordWrap(true); d->imageLabel->setAlignment(Qt::AlignCenter); d->scrollArea->setWidget(d->imageLabel); // For zooming support, a scale is displayed beneath the image with zoom out // and zoom in buttons. QLabel *scale_label = new QLabel(i18n("Scale:")); d->zoomOutButton = new QPushButton(KIcon("zoom-out"), ""); d->zoomInButton = new QPushButton(KIcon("zoom-in"), ""); d->zoomInButton->setFlat(true); d->zoomOutButton->setFlat(true); d->zoomSlider = new QSlider(Qt::Horizontal); d->zoomSlider->setRange(10, 150); QHBoxLayout *hBox1 = new QHBoxLayout(mainWidget()); hBox1->addWidget(scale_label); hBox1->addWidget(d->zoomOutButton); hBox1->addWidget(d->zoomSlider); hBox1->addWidget(d->zoomInButton); vBox->addLayout(hBox1); d->zoomSlider->setEnabled(false); d->zoomOutButton->setEnabled(false); d->zoomInButton->setEnabled(false); // The date and time entry widget allows the user to enter the date and time // displayed in the image. The format is explicitly set, otherwise seconds // might not get displayed. QLabel *dtLabel = new QLabel(i18n("The clock date and time:")); d->calendar = new QDateTimeEdit(); d->calendar->setDisplayFormat("d MMMM yyyy, hh:mm:ss"); d->calendar->setCalendarPopup(true); d->calendar->setEnabled(false); QHBoxLayout *hBox2 = new QHBoxLayout(mainWidget()); hBox2->addStretch(); hBox2->addWidget(dtLabel); hBox2->addWidget(d->calendar); vBox->addLayout(hBox2); // Setup the signals and slots. connect(this, SIGNAL(user1Clicked()), this, SLOT(slotLoadPhoto())); connect(d->zoomSlider, SIGNAL(sliderMoved(int)), this, SLOT(slotAdjustZoom(int))); connect(d->zoomOutButton, SIGNAL(clicked()), this, SLOT(slotZoomOut())); connect(d->zoomInButton, SIGNAL(clicked()), this, SLOT(slotZoomIn())); connect(this, SIGNAL(okClicked()), this, SLOT(slotOk())); connect(this, SIGNAL(cancelClicked()), this, SLOT(slotCancel())); // Show the window. KConfig config("kipirc"); KConfigGroup group = config.group(QString("Clock Photo Dialog")); restoreDialogSize(group); show(); // Upon initialization, present the user with a photo loading dialog. This // is done before the main dialog is drawn. slotLoadPhoto(); }
CoverFoundDialog::CoverFoundDialog( const CoverFetchUnit::Ptr unit, const CoverFetch::Metadata &data, QWidget *parent ) : KDialog( parent ) , m_album( unit->album() ) , m_isSorted( false ) , m_sortEnabled( false ) , m_unit( unit ) , m_queryPage( 0 ) { DEBUG_BLOCK setButtons( KDialog::Ok | KDialog::Cancel | KDialog::User1 ); // User1: clear icon view setButtonGuiItem( KDialog::User1, KStandardGuiItem::clear() ); connect( button( KDialog::User1 ), SIGNAL(clicked()), SLOT(clearView()) ); m_save = button( KDialog::Ok ); QSplitter *splitter = new QSplitter( this ); m_sideBar = new CoverFoundSideBar( m_album, splitter ); KVBox *vbox = new KVBox( splitter ); vbox->setSpacing( 4 ); KHBox *breadcrumbBox = new KHBox( vbox ); QLabel *breadcrumbLabel = new QLabel( i18n( "Finding cover for" ), breadcrumbBox ); AlbumBreadcrumbWidget *breadcrumb = new AlbumBreadcrumbWidget( m_album, breadcrumbBox ); QFont breadcrumbLabelFont; breadcrumbLabelFont.setBold( true ); breadcrumbLabel->setFont( breadcrumbLabelFont ); breadcrumbLabel->setIndent( 4 ); connect( breadcrumb, SIGNAL(artistClicked(const QString&)), SLOT(addToCustomSearch(const QString&)) ); connect( breadcrumb, SIGNAL(albumClicked(const QString&)), SLOT(addToCustomSearch(const QString&)) ); KHBox *searchBox = new KHBox( vbox ); vbox->setSpacing( 4 ); QStringList completionNames; QString firstRunQuery( m_album->name() ); completionNames << firstRunQuery; if( m_album->hasAlbumArtist() ) { const QString &name = m_album->albumArtist()->name(); completionNames << name; firstRunQuery += ' ' + name; } m_query = firstRunQuery; m_album->setSuppressImageAutoFetch( true ); m_search = new KComboBox( searchBox ); m_search->setEditable( true ); // creates a KLineEdit for the combobox m_search->setTrapReturnKey( true ); m_search->setInsertPolicy( QComboBox::NoInsert ); // insertion is handled by us m_search->setCompletionMode( KGlobalSettings::CompletionPopup ); m_search->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Fixed ); qobject_cast<KLineEdit*>( m_search->lineEdit() )->setClickMessage( i18n( "Enter Custom Search" ) ); m_search->completionObject()->setOrder( KCompletion::Insertion ); m_search->completionObject()->setIgnoreCase( true ); m_search->completionObject()->setItems( completionNames ); m_search->insertItem( 0, KStandardGuiItem::find().icon(), QString() ); m_search->insertSeparator( 1 ); m_search->insertItem( 2, KIcon("filename-album-amarok"), m_album->name() ); if( m_album->hasAlbumArtist() ) m_search->insertItem( 3, KIcon("filename-artist-amarok"), m_album->albumArtist()->name() ); m_searchButton = new KPushButton( KStandardGuiItem::find(), searchBox ); KPushButton *sourceButton = new KPushButton( KStandardGuiItem::configure(), searchBox ); updateSearchButton( firstRunQuery ); QMenu *sourceMenu = new QMenu( sourceButton ); QAction *lastFmAct = new QAction( i18n( "Last.fm" ), sourceMenu ); QAction *googleAct = new QAction( i18n( "Google" ), sourceMenu ); QAction *yahooAct = new QAction( i18n( "Yahoo!" ), sourceMenu ); QAction *discogsAct = new QAction( i18n( "Discogs" ), sourceMenu ); lastFmAct->setCheckable( true ); googleAct->setCheckable( true ); yahooAct->setCheckable( true ); discogsAct->setCheckable( true ); connect( lastFmAct, SIGNAL(triggered()), this, SLOT(selectLastFm()) ); connect( googleAct, SIGNAL(triggered()), this, SLOT(selectGoogle()) ); connect( yahooAct, SIGNAL(triggered()), this, SLOT(selectYahoo()) ); connect( discogsAct, SIGNAL(triggered()), this, SLOT(selectDiscogs()) ); m_sortAction = new QAction( i18n( "Sort by size" ), sourceMenu ); m_sortAction->setCheckable( true ); connect( m_sortAction, SIGNAL(triggered(bool)), this, SLOT(sortingTriggered(bool)) ); QActionGroup *ag = new QActionGroup( sourceButton ); ag->addAction( lastFmAct ); ag->addAction( googleAct ); ag->addAction( yahooAct ); ag->addAction( discogsAct ); sourceMenu->addActions( ag->actions() ); sourceMenu->addSeparator(); sourceMenu->addAction( m_sortAction ); sourceButton->setMenu( sourceMenu ); connect( m_search, SIGNAL(returnPressed(const QString&)), SLOT(insertComboText(const QString&)) ); connect( m_search, SIGNAL(returnPressed(const QString&)), SLOT(processQuery(const QString&)) ); connect( m_search, SIGNAL(returnPressed(const QString&)), SLOT(updateSearchButton(const QString&)) ); connect( m_search, SIGNAL(editTextChanged(const QString&)), SLOT(updateSearchButton(const QString&)) ); connect( m_search->lineEdit(), SIGNAL(clearButtonClicked()), SLOT(clearQueryButtonClicked())); connect( m_searchButton, SIGNAL(clicked()), SLOT(processQuery()) ); m_view = new KListWidget( vbox ); m_view->setAcceptDrops( false ); m_view->setContextMenuPolicy( Qt::CustomContextMenu ); m_view->setDragDropMode( QAbstractItemView::NoDragDrop ); m_view->setDragEnabled( false ); m_view->setDropIndicatorShown( false ); m_view->setMovement( QListView::Static ); m_view->setGridSize( QSize( 140, 150 ) ); m_view->setIconSize( QSize( 120, 120 ) ); m_view->setSpacing( 4 ); m_view->setViewMode( QListView::IconMode ); m_view->setResizeMode( QListView::Adjust ); connect( m_view, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(currentItemChanged(QListWidgetItem*, QListWidgetItem*)) ); connect( m_view, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(itemDoubleClicked(QListWidgetItem*)) ); connect( m_view, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(itemMenuRequested(const QPoint&)) ); splitter->addWidget( m_sideBar ); splitter->addWidget( vbox ); setMainWidget( splitter ); const KConfigGroup config = Amarok::config( "Cover Fetcher" ); const QString source = config.readEntry( "Interactive Image Source", "LastFm" ); m_sortEnabled = config.readEntry( "Sort by Size", false ); m_sortAction->setChecked( m_sortEnabled ); m_isSorted = m_sortEnabled; restoreDialogSize( config ); // call this after setMainWidget() if( source == "LastFm" ) lastFmAct->setChecked( true ); else if( source == "Yahoo" ) yahooAct->setChecked( true ); else if( source == "Discogs" ) discogsAct->setChecked( true ); else googleAct->setChecked( true ); typedef CoverFetchArtPayload CFAP; const CFAP *payload = dynamic_cast< const CFAP* >( unit->payload() ); if( !m_album->hasImage() ) m_sideBar->setPixmap( QPixmap::fromImage( m_album->image(190 ) ) ); else if( payload ) add( m_album->image(), data, payload->imageSize() ); else add( m_album->image(), data ); m_view->setCurrentItem( m_view->item( 0 ) ); updateGui(); connect( The::networkAccessManager(), SIGNAL( requestRedirected( QNetworkReply*, QNetworkReply* ) ), this, SLOT( fetchRequestRedirected( QNetworkReply*, QNetworkReply* ) ) ); }
void GPSSyncDialog::readSettings() { KConfig config("kipirc"); KConfigGroup group = config.group(QString("GPS Sync 2 Settings")); // -------------------------- // TODO: sanely determine a default backend const KConfigGroup groupMapWidget = KConfigGroup(&group, "Map Widget"); d->mapWidget->readSettingsFromGroup(&groupMapWidget); const KConfigGroup groupCorrelatorWidget = KConfigGroup(&group, "Correlator Widget"); d->correlatorWidget->readSettingsFromGroup(&groupCorrelatorWidget); const KConfigGroup groupTreeView = KConfigGroup(&group, "Tree View"); d->treeView->readSettingsFromGroup(&groupTreeView); const KConfigGroup groupSearchWidget = KConfigGroup(&group, "Search Widget"); d->searchWidget->readSettingsFromGroup(&groupSearchWidget); const KConfigGroup groupRGWidget = KConfigGroup(&group, "Reverse Geocoding Widget"); d->rgWidget->readSettingsFromGroup(&groupRGWidget); const KConfigGroup groupDialog = KConfigGroup(&group, "Dialog"); restoreDialogSize(groupDialog); // -------------------------- setCurrentTab(group.readEntry("Current Tab", 0)); const bool showOldestFirst = group.readEntry("Show oldest images first", false); if (showOldestFirst) { d->sortActionOldestFirst->setChecked(true); d->mapWidget->setSortKey(1); } else { d->sortActionYoungestFirst->setChecked(true); d->mapWidget->setSortKey(0); } d->actionBookmarkVisibility->setChecked(group.readEntry("Bookmarks visible", false)); slotBookmarkVisibilityToggled(); if (group.hasKey("SplitterState V1")) { const QByteArray splitterState = QByteArray::fromBase64(group.readEntry(QString("SplitterState V1"), QByteArray())); if (!splitterState.isEmpty()) { d->VSplitter->restoreState(splitterState); } } if (group.hasKey("SplitterState H1")) { const QByteArray splitterState = QByteArray::fromBase64(group.readEntry(QString("SplitterState H1"), QByteArray())); if (!splitterState.isEmpty()) { d->HSplitter->restoreState(splitterState); } } d->splitterSize = group.readEntry("Splitter H1 CollapsedSize", 0); // ---------------------------------- d->mapLayout = MapLayout(group.readEntry("Map Layout", QVariant::fromValue(int(MapLayoutOne))).value<int>()); d->setupGlobalObject->writeEntry("Map Layout", QVariant::fromValue(d->mapLayout)); adjustMapLayout(false); if (d->mapWidget2) { const KConfigGroup groupMapWidget = KConfigGroup(&group, "Map Widget 2"); d->mapWidget2->readSettingsFromGroup(&groupMapWidget); d->mapWidget2->setActive(true); } }
CloseConfirmDialog::CloseConfirmDialog( QList<KTextEditor::Document*>& docs , KToggleAction* show_confirmation_action , QWidget* const parent ) : KDialog(parent) , m_docs(docs) { assert("Documents container expected to be non empty" && !docs.isEmpty()); setCaption(i18n("Close files confirmation")); setButtons(Ok | Cancel); setModal(true); setDefaultButton(KDialog::Ok); KVBox* w = new KVBox(this); setMainWidget(w); w->setSpacing(KDialog::spacingHint()); KHBox* lo1 = new KHBox(w); // dialog text QLabel* icon = new QLabel(lo1); icon->setPixmap(DesktopIcon("dialog-warning")); QLabel* t = new QLabel( i18n( "<qt>You are about to close the following documents..." "<p>It is last chance to uncheck those you don't want to close ;-)</p></qt>" ) , lo1 ); lo1->setStretchFactor(t, 1000); // document list m_docs_tree = new QTreeWidget(w); QStringList headers; headers << i18n("Document") << i18n("Location"); m_docs_tree->setHeaderLabels(headers); m_docs_tree->setSelectionMode(QAbstractItemView::SingleSelection); m_docs_tree->setRootIsDecorated(false); for (int i = 0; i < m_docs.size(); i++) { new KateDocItem(m_docs[i], m_docs_tree); } m_docs_tree->header()->setStretchLastSection(false); m_docs_tree->header()->setResizeMode(0, QHeaderView::ResizeToContents); m_docs_tree->header()->setResizeMode(1, QHeaderView::ResizeToContents); m_dont_ask_again = new QCheckBox(i18n("Do not ask again"), w); // NOTE If we are here, it means that 'Show Confirmation' action is enabled, // so not needed to read config... assert("Sanity check" && show_confirmation_action->isChecked()); m_dont_ask_again->setCheckState(Qt::Checked); connect(m_dont_ask_again, SIGNAL(toggled(bool)), show_confirmation_action, SLOT(setChecked(bool))); // Update documents list according checkboxes connect(this, SIGNAL(accepted()), this, SLOT(updateDocsList())); KConfigGroup gcg(KGlobal::config(), "CloseConfirmationDialog"); restoreDialogSize(gcg); // restore dialog geometry from config }
UrlOpener::UrlOpener( Config *_config, QWidget *parent, Qt::WFlags f ) : KDialog( parent, f ), config( _config ) { setCaption( i18n("Add url") ); setWindowIcon( KIcon("network-workgroup") ); setButtons( 0 ); page = FileOpenPage; const int fontHeight = QFontMetrics(QApplication::font()).boundingRect("M").size().height(); QWidget *widget = new QWidget(); setMainWidget( widget ); QGridLayout *mainGrid = new QGridLayout( widget ); QGridLayout *topGrid = new QGridLayout( widget ); mainGrid->addLayout( topGrid, 0, 0 ); lSelector = new QLabel( i18n("1. Enter url"), widget ); QFont font; font.setBold( true ); lSelector->setFont( font ); topGrid->addWidget( lSelector, 0, 0 ); lOptions = new QLabel( i18n("2. Set conversion options"), widget ); topGrid->addWidget( lOptions, 0, 1 ); // draw a horizontal line QFrame *lineFrame = new QFrame( widget ); lineFrame->setFrameShape( QFrame::HLine ); lineFrame->setFrameShadow( QFrame::Sunken ); mainGrid->addWidget( lineFrame, 1, 0 ); QVBoxLayout *urlBox = new QVBoxLayout(); mainGrid->addLayout( urlBox, 2, 0 ); urlBox->addSpacing( 6*fontHeight ); urlRequester = new KUrlRequester( widget ); urlRequester->setMode( KFile::File | KFile::ExistingOnly ); urlBox->addWidget( urlRequester ); urlBox->addStretch(); options = new Options( config, i18n("Select your desired output options and click on \"Ok\"."), widget ); mainGrid->addWidget( options, 2, 0 ); adjustSize(); options->hide(); // add a horizontal box layout for the control elements QHBoxLayout *controlBox = new QHBoxLayout(); mainGrid->addLayout( controlBox, 5, 0 ); controlBox->addStretch(); pProceed = new KPushButton( KIcon("go-next"), i18n("Proceed"), widget ); controlBox->addWidget( pProceed ); connect( pProceed, SIGNAL(clicked()), this, SLOT(proceedClickedSlot()) ); pAdd = new KPushButton( KIcon("dialog-ok"), i18n("Ok"), widget ); controlBox->addWidget( pAdd ); pAdd->hide(); connect( pAdd, SIGNAL(clicked()), this, SLOT(okClickedSlot()) ); pCancel = new KPushButton( KIcon("dialog-cancel"), i18n("Cancel"), widget ); controlBox->addWidget( pCancel ); connect( pCancel, SIGNAL(clicked()), this, SLOT(reject()) ); // Prevent the dialog from beeing too wide because of the directory history if( parent && width() > parent->width() ) setInitialSize( QSize(parent->width()-fontHeight,sizeHint().height()) ); KSharedConfig::Ptr conf = KGlobal::config(); KConfigGroup group = conf->group( "UrlOpener" ); restoreDialogSize( group ); }
Interface::Interface(Plasma::RunnerManager *runnerManager, QWidget *parent) : KRunnerDialog(runnerManager, parent), m_delayedRun(false), m_running(false), m_queryRunning(false) { m_resultData.processHoverEvents = true; m_resultData.mouseHovering = false; m_resultData.runnerManager = runnerManager; m_hideResultsTimer.setSingleShot(true); connect(&m_hideResultsTimer, SIGNAL(timeout()), this, SLOT(hideResultsArea())); m_reenableHoverEventsTimer.setSingleShot(true); m_reenableHoverEventsTimer.setInterval(50); connect(&m_reenableHoverEventsTimer, SIGNAL(timeout()), this, SLOT(reenableHoverEvents())); m_layout = new QVBoxLayout(this); m_layout->setMargin(0); m_buttonContainer = new QWidget(this); QHBoxLayout *bottomLayout = new QHBoxLayout(m_buttonContainer); bottomLayout->setMargin(0); m_configButton = new ToolButton(m_buttonContainer); m_configButton->setText(i18n("Settings")); m_configButton->setToolTip(i18n("Settings")); connect(m_configButton, SIGNAL(clicked()), SLOT(toggleConfigDialog())); bottomLayout->addWidget(m_configButton); //Set up the system activity button, using the krunner global action, showing the global shortcut in the tooltip m_activityButton = new ToolButton(m_buttonContainer); KRunnerApp *krunnerApp = KRunnerApp::self(); QAction *showSystemActivityAction = krunnerApp->actionCollection()->action(QLatin1String( "Show System Activity" )); m_activityButton->setDefaultAction(showSystemActivityAction); updateSystemActivityToolTip(); connect(showSystemActivityAction, SIGNAL(globalShortcutChanged(QKeySequence)), this, SLOT(updateSystemActivityToolTip())); connect(showSystemActivityAction, SIGNAL(triggered(bool)), this, SLOT(resetAndClose())); bottomLayout->addWidget(m_activityButton); m_singleRunnerIcon = new QLabel(); bottomLayout->addWidget(m_singleRunnerIcon); m_singleRunnerDisplayName = new QLabel(); bottomLayout->addWidget(m_singleRunnerDisplayName); m_helpButton = new ToolButton(m_buttonContainer); m_helpButton->setText(i18n("Help")); m_helpButton->setToolTip(i18n("Information on using this application")); connect(m_helpButton, SIGNAL(clicked(bool)), SLOT(showHelp())); connect(m_helpButton, SIGNAL(clicked(bool)), SLOT(configCompleted())); bottomLayout->addWidget(m_helpButton); QSpacerItem* closeButtonSpacer = new QSpacerItem(0,0,QSizePolicy::MinimumExpanding,QSizePolicy::Fixed); bottomLayout->addSpacerItem(closeButtonSpacer); m_closeButton = new ToolButton(m_buttonContainer); KGuiItem guiItem = KStandardGuiItem::close(); m_closeButton->setText(guiItem.text()); m_closeButton->setToolTip(guiItem.text().remove(QLatin1Char( '&' ))); connect(m_closeButton, SIGNAL(clicked(bool)), SLOT(resetAndClose())); bottomLayout->addWidget(m_closeButton); m_layout->addWidget(m_buttonContainer); m_searchTerm = new KrunnerHistoryComboBox(false, this); KLineEdit *lineEdit = new KLineEdit(m_searchTerm); QAction *focusEdit = new QAction(this); focusEdit->setShortcut(Qt::Key_F6); connect(focusEdit, SIGNAL(triggered(bool)), this, SLOT(searchTermSetFocus())); addAction(focusEdit); // the order of these next few lines if very important. // QComboBox::setLineEdit sets the autoComplete flag on the lineedit, // and KComboBox::setAutoComplete resets the autocomplete mode! ugh! m_searchTerm->setLineEdit(lineEdit); m_completion = new KCompletion(); lineEdit->setCompletionObject(m_completion); lineEdit->setCompletionMode(static_cast<KGlobalSettings::Completion>(KRunnerSettings::queryTextCompletionMode())); lineEdit->setClearButtonShown(true); QStringList pastQueryItems = KRunnerSettings::pastQueries(); m_searchTerm->setHistoryItems(pastQueryItems); m_completion->insertItems(pastQueryItems); bottomLayout->insertWidget(4, m_searchTerm, 10); m_singleRunnerSearchTerm = new KLineEdit(this); bottomLayout->insertWidget(4, m_singleRunnerSearchTerm, 10 ); //kDebug() << "size:" << m_resultsView->size() << m_resultsView->minimumSize(); m_resultsScene = new ResultScene(&m_resultData, runnerManager, m_searchTerm, this); m_resultsView = new ResultsView(m_resultsScene, &m_resultData, this); m_layout->addWidget(m_resultsView); connect(m_resultsScene, SIGNAL(viewableHeightChanged()), this, SLOT(fitWindow())); connect(m_resultsScene, SIGNAL(matchCountChanged(int)), this, SLOT(matchCountChanged(int))); connect(m_resultsScene, SIGNAL(itemActivated(ResultItem*)), this, SLOT(run(ResultItem*))); connect(m_searchTerm, SIGNAL(queryTextEdited(QString)), this, SLOT(queryTextEdited(QString))); connect(m_searchTerm, SIGNAL(returnPressed()), this, SLOT(runDefaultResultItem())); connect(m_singleRunnerSearchTerm, SIGNAL(textChanged(QString)), this, SLOT(queryTextEdited(QString))); connect(m_singleRunnerSearchTerm, SIGNAL(returnPressed()), this, SLOT(runDefaultResultItem())); lineEdit->installEventFilter(this); m_searchTerm->installEventFilter(this); themeUpdated(); connect(Plasma::Theme::defaultTheme(), SIGNAL(themeChanged()), this, SLOT(themeUpdated())); new QShortcut(QKeySequence(Qt::Key_Escape), this, SLOT(resetAndClose())); m_layout->setAlignment(Qt::AlignTop); setTabOrder(0, m_configButton); setTabOrder(m_configButton, m_activityButton); setTabOrder(m_activityButton, m_searchTerm); setTabOrder(m_searchTerm, m_singleRunnerSearchTerm); setTabOrder(m_singleRunnerSearchTerm, m_resultsView); setTabOrder(m_resultsView, m_helpButton); setTabOrder(m_helpButton, m_closeButton); //kDebug() << "size:" << m_resultsView->size() << m_resultsView->minimumSize() << minimumSizeHint(); // we restore the original size, which will set the results view back to its // normal size, then we hide the results view and resize the dialog setMinimumSize(QSize(MIN_WIDTH, m_searchTerm->sizeHint().height())); // we load the last used size; the saved value is the size of the dialog when the // results are visible; adjustSize(); if (KGlobal::config()->hasGroup("Interface")) { KConfigGroup interfaceConfig(KGlobal::config(), "Interface"); restoreDialogSize(interfaceConfig); m_defaultSize = size(); } else { const int screenWidth = qApp->desktop()->screenGeometry().width(); int width = size().width(); if (screenWidth >= 1920) { width = qMax(width, 550); } else if (screenWidth >= 1024) { width = qMax(width, 300); } m_defaultSize = QSize(width, 500); } m_resultsView->hide(); m_delayedQueryTimer.setSingleShot(true); m_delayedQueryTimer.setInterval(50); connect(&m_delayedQueryTimer, SIGNAL(timeout()), this, SLOT(delayedQueryLaunch())); m_saveDialogSizeTimer.setSingleShot(true); m_saveDialogSizeTimer.setInterval(1000); connect(&m_saveDialogSizeTimer, SIGNAL(timeout()), SLOT(saveCurrentDialogSize())); QTimer::singleShot(0, this, SLOT(resetInterface())); }
AddRepositoryDialog::AddRepositoryDialog(KConfig& cfg, const QString& repo, QWidget* parent) : KDialog(parent) , partConfig(cfg) { setCaption(i18n("Add Repository")); setModal(true); setButtons(Ok | Cancel); setDefaultButton(Ok); showButtonSeparator(true); QFrame* mainWidget = new QFrame(this); setMainWidget(mainWidget); QBoxLayout* layout = new QVBoxLayout(mainWidget); layout->setSpacing(spacingHint()); layout->setMargin(0); QLabel* repo_label = new QLabel(i18n("&Repository:"), mainWidget); layout->addWidget(repo_label); repo_edit = new KLineEdit(mainWidget); repo_edit->setFocus(); repo_label->setBuddy(repo_edit); if( !repo.isNull() ) { repo_edit->setText(repo); repo_edit->setEnabled(false); } layout->addWidget(repo_edit); QLabel* rsh_label = new QLabel(i18n("Use remote &shell (only for :ext: repositories):"), mainWidget); layout->addWidget(rsh_label); rsh_edit = new KLineEdit(mainWidget); rsh_label->setBuddy(rsh_edit); layout->addWidget(rsh_edit); QLabel* server_label = new QLabel(i18n("Invoke this program on the server side:"), mainWidget); layout->addWidget(server_label); server_edit = new KLineEdit(mainWidget); server_label->setBuddy(server_edit); layout->addWidget(server_edit); KHBox* compressionBox = new KHBox(mainWidget); m_useDifferentCompression = new QCheckBox(i18n("Use different &compression level:"), compressionBox); m_compressionLevel = new KIntNumInput(compressionBox); m_compressionLevel->setRange(0, 9, 1); m_compressionLevel->setSliderEnabled(false); layout->addWidget(compressionBox); m_retrieveCvsignoreFile = new QCheckBox(i18n("Download cvsignore file from " "server"), mainWidget); layout->addWidget(m_retrieveCvsignoreFile); connect( repo_edit, SIGNAL(textChanged(QString)), this, SLOT(repoChanged()) ); connect( m_useDifferentCompression, SIGNAL(toggled(bool)), this, SLOT(compressionToggled(bool)) ); repoChanged(); KConfigGroup cg(&partConfig, "AddRepositoryDialog"); restoreDialogSize(cg); }
ReplayGainScanner::ReplayGainScanner( Config* _config, Logger* _logger, bool showMainWindowButton, QWidget *parent, Qt::WFlags f ) : KDialog( parent, f ), config( _config ), logger( _logger ) { setButtons( 0 ); setCaption( i18n("Replay Gain tool") ); setWindowIcon( KIcon("soundkonverter-replaygain") ); QWidget *widget = new QWidget( this ); setMainWidget( widget ); QGridLayout* grid = new QGridLayout( widget ); QHBoxLayout* filterBox = new QHBoxLayout(); grid->addLayout( filterBox, 0, 0 ); cAdd = new ComboButton( widget ); cAdd->insertItem( KIcon("folder"), i18n("Add folder...") ); cAdd->insertItem( KIcon("audio-x-generic"), i18n("Add files...") ); filterBox->addWidget( cAdd ); connect( cAdd, SIGNAL(clicked(int)), this, SLOT(addClicked(int)) ); filterBox->addStretch(); pShowMainWindow = new KPushButton( KIcon("soundkonverter"), i18n("Show soundKonverter main window"), widget ); pShowMainWindow->setVisible( showMainWindowButton ); filterBox->addWidget( pShowMainWindow ); connect( pShowMainWindow, SIGNAL(clicked()), this, SLOT(showMainWindowClicked()) ); fileList = new ReplayGainFileList( config, logger, widget ); grid->addWidget( fileList, 1, 0 ); connect( fileList, SIGNAL(processStarted()), this, SLOT(processStarted()) ); connect( fileList, SIGNAL(processStopped()), this, SLOT(processStopped()) ); QHBoxLayout* progressBox = new QHBoxLayout(); grid->addLayout( progressBox, 2, 0 ); progressIndicator = new ProgressIndicator( this ); progressBox->addWidget( progressIndicator ); connect( fileList, SIGNAL(timeChanged(float)), progressIndicator, SLOT(timeChanged(float)) ); connect( fileList, SIGNAL(finished(bool)), progressIndicator, SLOT(finished(bool)) ); connect( progressIndicator, SIGNAL(progressChanged(const QString&)), this, SLOT(progressChanged(const QString&)) ); QHBoxLayout* buttonBox = new QHBoxLayout(); grid->addLayout( buttonBox, 3, 0 ); pTagVisible = new KPushButton( KIcon("list-add"), i18n("Tag untagged"), widget ); pTagVisible->setToolTip( i18n("Calculate Replay Gain tags for all files in the file list without Replay Gain tags.") ); buttonBox->addWidget( pTagVisible ); connect( pTagVisible, SIGNAL(clicked()), this, SLOT(calcReplayGainClicked()) ); pRemoveTag = new KPushButton( KIcon("list-remove"), i18n("Untag tagged"), widget ); pRemoveTag->setToolTip( i18n("Remove the Replay Gain tags from all files in the file list.") ); buttonBox->addWidget( pRemoveTag ); connect( pRemoveTag, SIGNAL(clicked()), this, SLOT(removeReplayGainClicked()) ); pCancel = new KPushButton( KIcon("dialog-cancel"), i18n("Cancel"), widget ); pCancel->hide(); buttonBox->addWidget( pCancel ); connect( pCancel, SIGNAL(clicked()), this, SLOT(cancelClicked()) ); cForce = new QCheckBox( i18n("Force recalculation"), this ); cForce->setToolTip( i18n("Recalculate Replay Gain tags for files that already have Replay Gain tags set.") ); buttonBox->addWidget( cForce ); buttonBox->addStretch(); pClose = new KPushButton( KIcon("dialog-close"), i18n("Close"), widget ); pClose->setFocus(); buttonBox->addWidget( pClose ); connect( pClose, SIGNAL(clicked()), this, SLOT(closeClicked()) ); ReplayGainProcessor *replayGainProcessor = new ReplayGainProcessor( config, fileList, logger ); connect( fileList, SIGNAL(processItem(ReplayGainFileListItem*,ReplayGainPlugin::ApplyMode)), replayGainProcessor, SLOT(add(ReplayGainFileListItem*,ReplayGainPlugin::ApplyMode)) ); connect( fileList, SIGNAL(killItem(ReplayGainFileListItem*)), replayGainProcessor, SLOT(kill(ReplayGainFileListItem*)) ); connect( replayGainProcessor, SIGNAL(finished(ReplayGainFileListItem*,ReplayGainFileListItem::ReturnCode)), fileList, SLOT(itemFinished(ReplayGainFileListItem*,ReplayGainFileListItem::ReturnCode)) ); connect( replayGainProcessor, SIGNAL(finishedProcess(int,bool)), logger, SLOT(processCompleted(int,bool)) ); connect( replayGainProcessor, SIGNAL(updateTime(float)), progressIndicator, SLOT(update(float)) ); connect( replayGainProcessor, SIGNAL(timeFinished(float)), progressIndicator, SLOT(timeFinished(float)) ); setInitialSize( QSize(600,400) ); KSharedConfig::Ptr conf = KGlobal::config(); KConfigGroup group = conf->group( "ReplayGainTool" ); restoreDialogSize( group ); }
void KMLExportConfig::readSettings() { bool localTarget; bool optimize_googlemap; int iconSize; // int googlemapSize; int size; QString UrlDestDir; QString baseDestDir; QString KMLFileName; int AltitudeMode; bool GPXtracks; QString GPXFile; int TimeZone; int LineWidth; QString GPXColor; int GPXOpacity; int GPXAltitudeMode; KConfig config("kipirc"); KConfigGroup group = config.group(QString("KMLExport Settings")); localTarget = group.readEntry("localTarget", true); optimize_googlemap = group.readEntry("optimize_googlemap", false); iconSize = group.readEntry("iconSize", 33); // not saving this size as it should not change // googlemapSize = group.readNumEntry("googlemapSize", 32); size = group.readEntry("size", 320); // UrlDestDir have to have the trailing / baseDestDir = group.readEntry("baseDestDir", "/tmp/"); UrlDestDir = group.readEntry("UrlDestDir", "http://www.example.com/"); KMLFileName = group.readEntry("KMLFileName", "kmldocument"); AltitudeMode = group.readEntry("Altitude Mode", 0); GPXtracks = group.readEntry("UseGPXTracks", false); GPXFile = group.readEntry("GPXFile", QString()); TimeZone = group.readEntry("Time Zone", 12); LineWidth = group.readEntry("Line Width", 4); GPXColor = group.readEntry("Track Color", "#17eeee" ); GPXOpacity = group.readEntry("Track Opacity", 64 ); GPXAltitudeMode = group.readEntry("GPX Altitude Mode", 0); KConfigGroup group2 = config.group(QString("KMLExport Dialog")); restoreDialogSize(group2); // -- Apply Settings to widgets ------------------------------ LocalTargetRadioButton_->setChecked(localTarget); GoogleMapTargetRadioButton_->setChecked(optimize_googlemap); IconSizeInput_->setValue(iconSize); ImageSizeInput_->setValue(size); AltitudeCB_->setCurrentIndex(AltitudeMode); DestinationDirectory_->setUrl(baseDestDir); DestinationUrl_->setText(UrlDestDir); FileName_->setText(KMLFileName); GPXTracksCheckBox_->setChecked(GPXtracks); timeZoneCB->setCurrentIndex(TimeZone); GPXLineWidthInput_->setValue(LineWidth); GPXTrackColor_->setColor(GPXColor); GPXTracksOpacityInput_->setValue(GPXOpacity); GPXAltitudeCB_->setCurrentIndex(GPXAltitudeMode); }
AboutPlugins::AboutPlugins( Config *_config, QWidget* parent, Qt::WFlags f ) : KDialog( parent, f ), config( _config ), currentPlugin( 0 ) { setCaption( i18n("About plugins") ); setWindowIcon( KIcon("preferences-plugin") ); setButtons( KDialog::Close ); setButtonFocus( KDialog::Close ); QWidget *widget = new QWidget( this ); setMainWidget( widget ); QHBoxLayout *box = new QHBoxLayout( widget ); QVBoxLayout *pluginListBox = new QVBoxLayout( widget ); box->addLayout( pluginListBox ); QLabel *installedPlugins = new QLabel( i18n("Installed plugins:"), this ); pluginListBox->addWidget( installedPlugins ); QListWidget *pluginsList = new QListWidget( this ); pluginListBox->addWidget( pluginsList ); connect( pluginsList, SIGNAL(currentTextChanged(const QString&)), this, SLOT(currentPluginChanged(const QString&)) ); QStringList pluginNames; QList<CodecPlugin*> codecPlugins = config->pluginLoader()->getAllCodecPlugins(); for( int i=0; i<codecPlugins.count(); i++ ) { pluginNames += codecPlugins.at(i)->name(); } pluginNames.sort(); pluginsList->addItems( pluginNames ); pluginNames.clear(); QList<FilterPlugin*> filterPlugins = config->pluginLoader()->getAllFilterPlugins(); for( int i=0; i<filterPlugins.count(); i++ ) { pluginNames += filterPlugins.at(i)->name(); } pluginNames.sort(); pluginsList->addItems( pluginNames ); pluginNames.clear(); QList<ReplayGainPlugin*> replaygainPlugins = config->pluginLoader()->getAllReplayGainPlugins(); for( int i=0; i<replaygainPlugins.count(); i++ ) { pluginNames += replaygainPlugins.at(i)->name(); } pluginNames.sort(); pluginsList->addItems( pluginNames ); pluginNames.clear(); QList<RipperPlugin*> ripperPlugins = config->pluginLoader()->getAllRipperPlugins(); for( int i=0; i<ripperPlugins.count(); i++ ) { pluginNames += ripperPlugins.at(i)->name(); } pluginNames.sort(); pluginsList->addItems( pluginNames ); pluginsList->setFixedWidth( 180 ); box->addSpacing( 10 ); QVBoxLayout *pluginInfoBox = new QVBoxLayout( widget ); box->addLayout( pluginInfoBox ); aboutPluginLabel = new QLabel( this ); aboutPluginLabel->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred ); aboutPluginLabel->setWordWrap( true ); aboutPluginLabel->setTextFormat( Qt::RichText ); pluginInfoBox->addWidget( aboutPluginLabel ); connect( aboutPluginLabel, SIGNAL(linkActivated(const QString&)), this, SLOT(showProblemInfo(const QString&)) ); pluginInfoBox->addStretch(); QHBoxLayout *configurePluginBox = new QHBoxLayout( widget ); pluginInfoBox->addLayout( configurePluginBox ); configurePlugin = new KPushButton( KIcon("configure"), "", widget ); configurePlugin->hide(); configurePluginBox->addWidget( configurePlugin ); configurePluginBox->addStretch(); connect( configurePlugin, SIGNAL(clicked()), this, SLOT(configurePluginClicked()) ); pluginsList->setCurrentRow(0); QListWidgetItem *currentItem = pluginsList->currentItem(); if( currentItem ) { currentPluginChanged( currentItem->text() ); } setInitialSize( QSize(500,300) ); KSharedConfig::Ptr conf = KGlobal::config(); KConfigGroup group = conf->group( "AboutPlugins" ); restoreDialogSize( group ); }
// Constructor LikeBackDialog::LikeBackDialog( QNetworkAccessManager * nam, LikeBack::Button reason, const QString &initialComment, const QString &windowPath, const QString &context, LikeBack *likeBack ) : QDialog( QApplication::activeWindow() ) , m_nam( nam ) , m_context( context ) , m_likeBack( likeBack ) , m_windowPath( windowPath ) { // Customize UI setupUi( this ); QFont font = informationLabel->font(); font.setPointSize(font.pointSize() - 1); informationLabel->setFont(font); emailLabel->setFont(font); setAttribute(Qt::WA_DeleteOnClose); #if 1 restoreGeometry(QSettings().value("LikeBack/geometry").toByteArray()); #else restoreDialogSize( KGlobal::config()->group( "LikeBackDialog" ) ); #endif // Connect the 2 bottom buttons connect( buttonBox, SIGNAL( accepted() ), this, SLOT( slotSendData() ) ); connect( buttonBox, SIGNAL( rejected() ), this, SLOT( close() ) ); // Group the buttons together to retrieve the checked one quickly m_typeGroup = new QButtonGroup( this ); m_typeGroup->addButton( likeRadio_, LikeBack::Like ); m_typeGroup->addButton( dislikeRadio_, LikeBack::Dislike ); m_typeGroup->addButton( bugRadio_, LikeBack::Bug ); m_typeGroup->addButton( featureRadio_, LikeBack::Feature ); // Hide unneeded buttons LikeBack::Button buttons = m_likeBack->buttons(); likeRadio_ ->setVisible( buttons & LikeBack::Like ); dislikeRadio_->setVisible( buttons & LikeBack::Dislike ); bugRadio_ ->setVisible( buttons & LikeBack::Bug ); featureRadio_->setVisible( buttons & LikeBack::Feature ); // If no specific "reason" is provided, choose the first one: if ( reason == LikeBack::AllButtons || reason == LikeBack::DefaultButtons ) { if( buttons & LikeBack::Dislike ) reason = LikeBack::Dislike; else if( buttons & LikeBack::Bug ) reason = LikeBack::Bug; else if( buttons & LikeBack::Feature ) reason = LikeBack::Feature; else reason = LikeBack::Like; } // Choose which button to check switch( reason ) { case LikeBack::Like: likeRadio_ ->setChecked( true ); break; case LikeBack::Dislike: dislikeRadio_->setChecked( true ); break; case LikeBack::Bug: bugRadio_ ->setChecked( true ); break; case LikeBack::Feature: featureRadio_->setChecked( true ); break; default: break; // Will never arrive here } // Disable the Ok button if no comment is present connect( m_comment, SIGNAL( textChanged() ), this, SLOT( verifyOk() ) ); // If no window path is provided, get the current active window path if ( m_windowPath.isEmpty() ) m_windowPath = LikeBack::activeWindowPath(); // Specify the initial comment m_comment->setPlainText( initialComment ); m_comment->setFocus(); // Provide the initial status for email address widgets if available emailAddressEdit_->setText( m_likeBack->emailAddress() ); specifyEmailCheck->setChecked( true ); // The introduction message is long and will require a new minimum dialog size informationLabel->setText( introductionText() ); setMinimumSize( minimumSizeHint() ); // Initially verify the widgets status verifyOk(); }
CommitDialog::CommitDialog(KConfig& cfg, OrgKdeCervisiaCvsserviceCvsserviceInterface* service, QWidget *parent) : KDialog(parent) , partConfig(cfg) , cvsService(service) { setCaption(i18n("CVS Commit")); setModal(true); setButtons(Ok | Cancel | Help | User1); setButtonGuiItem(User1, KGuiItem(i18n("&Diff"), "vcs-diff-cvs-cervisia")); setDefaultButton(Ok); showButtonSeparator(true); QFrame* mainWidget = new QFrame(this); setMainWidget(mainWidget); QBoxLayout *layout = new QVBoxLayout(mainWidget); layout->setSpacing(spacingHint()); layout->setMargin(0); QLabel *textlabel = new QLabel( i18n("Commit the following &files:"), mainWidget ); layout->addWidget(textlabel); m_fileList = new KListWidget(mainWidget); m_fileList->setEditTriggers(QAbstractItemView::NoEditTriggers); textlabel->setBuddy(m_fileList); connect( m_fileList, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(fileSelected(QListWidgetItem*))); connect( m_fileList, SIGNAL(itemSelectionChanged()), this, SLOT(fileHighlighted()) ); layout->addWidget(m_fileList, 5); QLabel *archivelabel = new QLabel(i18n("Older &messages:"), mainWidget); layout->addWidget(archivelabel); combo = new KComboBox(mainWidget); archivelabel->setBuddy(combo); connect( combo, SIGNAL(activated(int)), this, SLOT(comboActivated(int)) ); // make sure that combobox is smaller than the screen combo->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed)); layout->addWidget(combo); QLabel *messagelabel = new QLabel(i18n("&Log message:"), mainWidget); layout->addWidget(messagelabel); edit = new Cervisia::LogMessageEdit(mainWidget); messagelabel->setBuddy(edit); edit->setFocus(); edit->setMinimumSize(400, 100); layout->addWidget(edit, 10); m_useTemplateChk = new QCheckBox(i18n("Use log message &template"), mainWidget); layout->addWidget(m_useTemplateChk); connect( m_useTemplateChk, SIGNAL(clicked()), this, SLOT(useTemplateClicked()) ); checkForTemplateFile(); enableButton(User1, false); connect( this, SIGNAL(user1Clicked()), this, SLOT(diffClicked()) ); setHelp("commitingfiles"); KConfigGroup cg(&partConfig, "CommitDialog"); restoreDialogSize(cg); }
void ClockPhotoDialog::loadSettings() { KConfig config("kipirc"); KConfigGroup group = config.group(QString("Clock Photo Dialog")); restoreDialogSize(group); }