diff --git a/kompare_shell.cpp b/kompare_shell.cpp --- a/kompare_shell.cpp +++ b/kompare_shell.cpp @@ -331,11 +331,9 @@ void KompareShell::slotFileBlendURLAndDiff() { - KompareURLDialog dialog(this); + KompareURLDialog dialog(i18n("File/Folder"), i18n("Diff Output"), this); dialog.setWindowTitle(i18n("Blend File/Folder with diff Output")); - dialog.setFirstGroupBoxTitle(i18n("File/Folder")); - dialog.setSecondGroupBoxTitle(i18n("Diff Output")); QPushButton* okButton = dialog.button(QDialogButtonBox::Ok); okButton->setText(i18n("Blend")); @@ -361,11 +359,9 @@ void KompareShell::slotFileCompareFiles() { - KompareURLDialog dialog(this); + KompareURLDialog dialog(i18n("Source"), i18n("Destination"), this); dialog.setWindowTitle(i18n("Compare Files or Folders")); - dialog.setFirstGroupBoxTitle(i18n("Source")); - dialog.setSecondGroupBoxTitle(i18n("Destination")); QPushButton* okButton = dialog.button(QDialogButtonBox::Ok); okButton->setText(i18n("Compare")); diff --git a/kompareurldialog.h b/kompareurldialog.h --- a/kompareurldialog.h +++ b/kompareurldialog.h @@ -37,16 +37,27 @@ Q_OBJECT public: - explicit KompareURLDialog(QWidget* parent = nullptr); + explicit KompareURLDialog(QString firstLabel, QString secondLabel, QWidget* parent = nullptr); ~KompareURLDialog() override; + /** + * Returns the first URL, which was entered. + * @return first URL + */ QUrl getFirstURL() const; + + /** + * Returns the second URL, which was entered. + * @return second URL + */ QUrl getSecondURL() const; + + /** + * Returns the encoding. + * @return encoding + */ QString encoding() const; - void setFirstGroupBoxTitle(const QString& title); - void setSecondGroupBoxTitle(const QString& title); - void setGroup(const QString& groupName); void setFirstURLRequesterMode(unsigned int mode); diff --git a/kompareurldialog.cpp b/kompareurldialog.cpp --- a/kompareurldialog.cpp +++ b/kompareurldialog.cpp @@ -36,36 +36,41 @@ #include "viewsettings.h" -KompareURLDialog::KompareURLDialog(QWidget* parent) +KompareURLDialog::KompareURLDialog(QString firstLabel, QString secondLabel, QWidget* parent) : KPageDialog(parent) { setFaceType(List); KSharedConfig::Ptr cfg = KSharedConfig::openConfig(); - m_filesPage = new FilesPage(); + m_filesPage = new FilesPage(firstLabel, secondLabel); KPageWidgetItem* filesItem = addPage(m_filesPage, i18n("Files")); filesItem->setIcon(QIcon::fromTheme(QStringLiteral("text-plain"))); filesItem->setHeader(i18n("Here you can enter the files you want to compare.")); m_filesSettings = new FilesSettings(this); m_filesSettings->loadSettings(cfg.data()); m_filesPage->setSettings(m_filesSettings); m_diffPage = new DiffPage(); - KPageWidgetItem* diffItem = addPage(m_diffPage, i18n("Diff")); + KPageWidgetItem *diffItem = addPage(m_diffPage, i18n("Diff")); diffItem->setIcon(QIcon::fromTheme(QStringLiteral("text-x-patch"))); diffItem->setHeader(i18n("Here you can change the options for comparing the files.")); m_diffSettings = new DiffSettings(this); m_diffSettings->loadSettings(cfg.data()); m_diffPage->setSettings(m_diffSettings); m_viewPage = new ViewPage(); - KPageWidgetItem* viewItem = addPage(m_viewPage, i18n("Appearance")); + KPageWidgetItem *viewItem = addPage(m_viewPage, i18n("Appearance")); viewItem->setIcon(QIcon::fromTheme(QStringLiteral("preferences-desktop-theme"))); viewItem->setHeader(i18n("Here you can change the options for the view.")); m_viewSettings = new ViewSettings(this); m_viewSettings->loadSettings(cfg.data()); m_viewPage->setSettings(m_viewSettings); + QPushButton *okButton = button(QDialogButtonBox::Ok); + okButton->setText(i18n("Compare")); + okButton->setToolTip(i18n("Compare these files or folders")); + okButton->setWhatsThis(i18n("If you have entered 2 filenames or 2 folders in the fields in this dialog then this button will be enabled and pressing it will start a comparison of the entered files or folders. ")); + adjustSize(); connect(m_filesPage->firstURLRequester(), &KUrlRequester::textChanged, @@ -137,43 +142,21 @@ !m_filesPage->secondURLRequester()->url().isEmpty()); } -/** - * Returns the first URL, which was entered. - * @return first URL - */ QUrl KompareURLDialog::getFirstURL() const { return m_filesPage->firstURLRequester()->url(); } -/** - * Returns the second URL, which was entered. - * @return second URL - */ QUrl KompareURLDialog::getSecondURL() const { return m_filesPage->secondURLRequester()->url(); } -/** - * Returns the encoding. - * @return encoding - */ QString KompareURLDialog::encoding() const { return m_filesPage->encoding(); } -void KompareURLDialog::setFirstGroupBoxTitle(const QString& title) -{ - m_filesPage->setFirstGroupBoxTitle(title); -} - -void KompareURLDialog::setSecondGroupBoxTitle(const QString& title) -{ - m_filesPage->setSecondGroupBoxTitle(title); -} - void KompareURLDialog::setGroup(const QString& groupName) { m_filesSettings->setGroup(groupName); diff --git a/libdialogpages/filespage.h b/libdialogpages/filespage.h --- a/libdialogpages/filespage.h +++ b/libdialogpages/filespage.h @@ -23,7 +23,7 @@ #include "dialogpages_export.h" -class QGroupBox; +class QFormLayout; class KComboBox; class KUrlComboBox; @@ -35,18 +35,15 @@ { Q_OBJECT public: - FilesPage(); + FilesPage(QString firstLabel, QString secondLabel); ~FilesPage() override; public: KUrlRequester* firstURLRequester() const; KUrlRequester* secondURLRequester() const; QString encoding() const; - void setFirstGroupBoxTitle(const QString& title); - void setSecondGroupBoxTitle(const QString& title); - void setURLsInComboBoxes(); void setFirstURLRequesterMode(unsigned int mode); @@ -72,9 +69,7 @@ void doOpen(KUrlComboBox* urlComboBox, bool selectFolders); private: - QGroupBox* m_firstGB; - QGroupBox* m_secondGB; - QGroupBox* m_thirdGB; + QFormLayout* m_formLayout; KUrlComboBox* m_firstURLComboBox; KUrlComboBox* m_secondURLComboBox; KUrlRequester* m_firstURLRequester; diff --git a/libdialogpages/filespage.cpp b/libdialogpages/filespage.cpp --- a/libdialogpages/filespage.cpp +++ b/libdialogpages/filespage.cpp @@ -17,6 +17,7 @@ #include "filespage.h" +#include #include #include #include @@ -30,29 +31,27 @@ #include "filessettings.h" -FilesPage::FilesPage() : QFrame() +FilesPage::FilesPage(QString firstLabel, QString secondLabel) : QFrame() { - QVBoxLayout* layout = new QVBoxLayout(this); + m_formLayout = new QFormLayout(this); - m_firstGB = new QGroupBox(QStringLiteral("You have to set this moron :)"), this); // whut? - layout->addWidget(m_firstGB); - QHBoxLayout* gb1Layout = new QHBoxLayout(m_firstGB); - m_firstURLComboBox = new KUrlComboBox(KUrlComboBox::Both, true, m_firstGB); + QHBoxLayout *firstLayout = new QHBoxLayout(); + m_firstURLComboBox = new KUrlComboBox(KUrlComboBox::Both, true); m_firstURLComboBox->setMaxItems(10); m_firstURLComboBox->setObjectName(QStringLiteral("SourceURLComboBox")); m_firstURLRequester = new KUrlRequester(m_firstURLComboBox, nullptr); - gb1Layout->addWidget(m_firstURLComboBox); + firstLayout->addWidget(m_firstURLComboBox); m_firstURLComboBox->setFocus(); - QPushButton* button = new QPushButton(this); + QPushButton *button = new QPushButton(); button->setIcon(QIcon::fromTheme(QStringLiteral("document-open"))); button->setToolTip(i18n("Select File")); button->setProperty("combobox", QStringLiteral("SourceURLComboBox")); button->setProperty("folder", false); connect(button, &QPushButton::clicked, this, &FilesPage::open); - gb1Layout->addWidget(button); + firstLayout->addWidget(button); - button = new QPushButton(this); + button = new QPushButton(); button->setIcon(QIcon::fromTheme(QStringLiteral("folder-open"))); QSizePolicy sp = button->sizePolicy(); sp.setRetainSizeWhenHidden(true); @@ -62,26 +61,25 @@ button->setProperty("combobox", QStringLiteral("SourceURLComboBox")); button->setProperty("folder", true); connect(button, &QPushButton::clicked, this, &FilesPage::open); - gb1Layout->addWidget(button); + firstLayout->addWidget(button); - m_secondGB = new QGroupBox(QStringLiteral("This too moron !"), this); // whut again? - layout->addWidget(m_secondGB); - QHBoxLayout* gb2Layout = new QHBoxLayout(m_secondGB); - m_secondURLComboBox = new KUrlComboBox(KUrlComboBox::Both, true, m_secondGB); + QHBoxLayout *secondLayout = new QHBoxLayout(); + + m_secondURLComboBox = new KUrlComboBox(KUrlComboBox::Both, true); m_secondURLComboBox->setMaxItems(10); m_secondURLComboBox->setObjectName(QStringLiteral("DestURLComboBox")); m_secondURLRequester = new KUrlRequester(m_secondURLComboBox, nullptr); - gb2Layout->addWidget(m_secondURLComboBox); + secondLayout->addWidget(m_secondURLComboBox); - button = new QPushButton(this); + button = new QPushButton(); button->setIcon(QIcon::fromTheme(QStringLiteral("document-open"))); button->setToolTip(i18n("Select File")); button->setProperty("combobox", QStringLiteral("DestURLComboBox")); button->setProperty("folder", false); connect(button, &QPushButton::clicked, this, &FilesPage::open); - gb2Layout->addWidget(button); + secondLayout->addWidget(button); - button = new QPushButton(this); + button = new QPushButton(); button->setIcon(QIcon::fromTheme(QStringLiteral("folder-open"))); button->setObjectName(QStringLiteral("secondURLOpenFolder")); sp = button->sizePolicy(); @@ -91,23 +89,16 @@ button->setProperty("combobox", QStringLiteral("DestURLComboBox")); button->setProperty("folder", true); connect(button, &QPushButton::clicked, this, &FilesPage::open); - gb2Layout->addWidget(button); - + secondLayout->addWidget(button); - m_thirdGB = new QGroupBox(i18n("Encoding"), this); - layout->addWidget(m_thirdGB); - QHBoxLayout* gb3Layout = new QHBoxLayout(m_thirdGB); - m_encodingComboBox = new KComboBox(false, m_thirdGB); + m_encodingComboBox = new KComboBox(false); m_encodingComboBox->setObjectName(QStringLiteral("encoding_combobox")); m_encodingComboBox->insertItem(0, i18n("Default")); m_encodingComboBox->insertItems(1, KCharsets::charsets()->availableEncodingNames()); - gb3Layout->addWidget(m_encodingComboBox); - - layout->addWidget(m_firstGB); - layout->addWidget(m_secondGB); - layout->addWidget(m_thirdGB); - layout->addStretch(1); + m_formLayout->addRow(firstLabel, firstLayout); + m_formLayout->addRow(secondLabel, secondLayout); + m_formLayout->addRow(i18n("&Encoding:"), m_encodingComboBox); } FilesPage::~FilesPage() @@ -158,19 +149,14 @@ return m_secondURLRequester; } -QString FilesPage::encoding() const -{ - return m_encodingComboBox->currentText(); -} - -void FilesPage::setFirstGroupBoxTitle(const QString& title) +void setFirstFormLabel(const QString &label) { - m_firstGB->setTitle(title); + } -void FilesPage::setSecondGroupBoxTitle(const QString& title) +QString FilesPage::encoding() const { - m_secondGB->setTitle(title); + return m_encodingComboBox->currentText(); } void FilesPage::setURLsInComboBoxes() diff --git a/main.cpp b/main.cpp --- a/main.cpp +++ b/main.cpp @@ -198,11 +198,9 @@ if (difault) { - KompareURLDialog dialog(nullptr); + KompareURLDialog dialog(i18n("Source"), i18n("Destination"), nullptr); dialog.setWindowTitle(i18n("Compare Files or Folders")); - dialog.setFirstGroupBoxTitle(i18n("Source")); - dialog.setSecondGroupBoxTitle(i18n("Destination")); QPushButton* okButton = dialog.button(QDialogButtonBox::Ok); okButton->setText(i18n("Compare"));