File indexing completed on 2024-04-28 15:32:14

0001 /*
0002     This file is part of the KDE libraries
0003     SPDX-FileCopyrightText: 2001 Holger Freyther <freyther@kde.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-only
0006 */
0007 
0008 #include "kstandardguiitem.h"
0009 
0010 #include <QApplication>
0011 
0012 namespace KStandardGuiItem
0013 {
0014 KGuiItem guiItem(StandardItem ui_enum)
0015 {
0016     switch (ui_enum) {
0017     case Ok:
0018         return ok();
0019     case Cancel:
0020         return cancel();
0021 #if KWIDGETSADDONS_BUILD_DEPRECATED_SINCE(5, 100)
0022     case Yes:
0023         return yes();
0024     case No:
0025         return no();
0026 #endif
0027     case Discard:
0028         return discard();
0029     case Save:
0030         return save();
0031     case DontSave:
0032         return dontSave();
0033     case SaveAs:
0034         return saveAs();
0035     case Apply:
0036         return apply();
0037     case Clear:
0038         return clear();
0039     case Help:
0040         return help();
0041     case Close:
0042         return close();
0043     case CloseWindow:
0044         return closeWindow();
0045     case CloseDocument:
0046         return closeDocument();
0047     case Defaults:
0048         return defaults();
0049     case Back:
0050         return back();
0051     case Forward:
0052         return forward();
0053     case Print:
0054         return print();
0055     case Continue:
0056         return cont();
0057     case Open:
0058         return open();
0059     case Quit:
0060         return quit();
0061     case AdminMode:
0062         return adminMode();
0063     case Reset:
0064         return reset();
0065     case Delete:
0066         return del();
0067     case Insert:
0068         return insert();
0069     case Configure:
0070         return configure();
0071     case Find:
0072         return find();
0073     case Stop:
0074         return stop();
0075     case Add:
0076         return add();
0077     case Remove:
0078         return remove();
0079     case Test:
0080         return test();
0081     case Properties:
0082         return properties();
0083     case Overwrite:
0084         return overwrite();
0085     default:
0086         return KGuiItem();
0087     };
0088 }
0089 
0090 QString standardItem(StandardItem ui_enum)
0091 {
0092     switch (ui_enum) {
0093     case Ok:
0094         return QStringLiteral("ok");
0095     case Cancel:
0096         return QStringLiteral("cancel");
0097 #if KWIDGETSADDONS_BUILD_DEPRECATED_SINCE(5, 100)
0098     case Yes:
0099         return QStringLiteral("yes");
0100     case No:
0101         return QStringLiteral("no");
0102 #endif
0103     case Discard:
0104         return QStringLiteral("discard");
0105     case Save:
0106         return QStringLiteral("save");
0107     case DontSave:
0108         return QStringLiteral("dontSave");
0109     case SaveAs:
0110         return QStringLiteral("saveAs");
0111     case Apply:
0112         return QStringLiteral("apply");
0113     case Help:
0114         return QStringLiteral("help");
0115     case Close:
0116         return QStringLiteral("close");
0117     case CloseWindow:
0118         return QStringLiteral("closeWindow");
0119     case CloseDocument:
0120         return QStringLiteral("closeDocument");
0121     case Defaults:
0122         return QStringLiteral("defaults");
0123     case Back:
0124         return QStringLiteral("back");
0125     case Forward:
0126         return QStringLiteral("forward");
0127     case Print:
0128         return QStringLiteral("print");
0129     case Continue:
0130         return QStringLiteral("continue");
0131     case Open:
0132         return QStringLiteral("open");
0133     case Quit:
0134         return QStringLiteral("quit");
0135     case AdminMode:
0136         return QStringLiteral("adminMode");
0137     case Delete:
0138         return QStringLiteral("delete");
0139     case Insert:
0140         return QStringLiteral("insert");
0141     case Configure:
0142         return QStringLiteral("configure");
0143     case Find:
0144         return QStringLiteral("find");
0145     case Stop:
0146         return QStringLiteral("stop");
0147     case Add:
0148         return QStringLiteral("add");
0149     case Remove:
0150         return QStringLiteral("remove");
0151     case Test:
0152         return QStringLiteral("test");
0153     case Properties:
0154         return QStringLiteral("properties");
0155     case Overwrite:
0156         return QStringLiteral("overwrite");
0157     default:
0158         return QString();
0159     };
0160 }
0161 
0162 KGuiItem ok()
0163 {
0164     return KGuiItem(QApplication::translate("KStandardGuiItem", "&OK"), QStringLiteral("dialog-ok"));
0165 }
0166 
0167 KGuiItem cancel()
0168 {
0169     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Cancel"), QStringLiteral("dialog-cancel"));
0170 }
0171 
0172 #if KWIDGETSADDONS_BUILD_DEPRECATED_SINCE(5, 100)
0173 KGuiItem yes()
0174 {
0175     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Yes"), QStringLiteral("dialog-ok"));
0176 }
0177 #endif
0178 
0179 #if KWIDGETSADDONS_BUILD_DEPRECATED_SINCE(5, 100)
0180 KGuiItem no()
0181 {
0182     return KGuiItem(QApplication::translate("KStandardGuiItem", "&No"), QStringLiteral("dialog-cancel"));
0183 }
0184 #endif
0185 
0186 KGuiItem discard()
0187 {
0188     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Discard"),
0189                     QStringLiteral("edit-delete"),
0190                     QApplication::translate("KStandardGuiItem", "Discard changes"),
0191                     QApplication::translate("KStandardGuiItem",
0192                                             "Pressing this button will discard all recent "
0193                                             "changes made in this dialog."));
0194 }
0195 
0196 KGuiItem save()
0197 {
0198     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Save"),
0199                     QStringLiteral("document-save"),
0200                     QApplication::translate("KStandardGuiItem", "Save data"));
0201 }
0202 
0203 KGuiItem dontSave()
0204 {
0205     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Do Not Save"), QString(), QApplication::translate("KStandardGuiItem", "Do not save data"));
0206 }
0207 
0208 KGuiItem saveAs()
0209 {
0210     return KGuiItem(QApplication::translate("KStandardGuiItem", "Save &As..."),
0211                     QStringLiteral("document-save-as"),
0212                     QApplication::translate("KStandardGuiItem", "Save file with another name"));
0213 }
0214 
0215 KGuiItem apply()
0216 {
0217     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Apply"),
0218                     QStringLiteral("dialog-ok-apply"),
0219                     QApplication::translate("KStandardGuiItem", "Apply changes"),
0220                     QApplication::translate("KStandardGuiItem",
0221                                             "When you click <b>Apply</b>, the settings will be "
0222                                             "handed over to the program, but the dialog "
0223                                             "will not be closed.\n"
0224                                             "Use this to try different settings."));
0225 }
0226 
0227 KGuiItem adminMode()
0228 {
0229     return KGuiItem(QApplication::translate("KStandardGuiItem", "Administrator &Mode..."),
0230                     QString(),
0231                     QApplication::translate("KStandardGuiItem", "Enter Administrator Mode"),
0232                     QApplication::translate("KStandardGuiItem",
0233                                             "When you click <b>Administrator Mode</b> you will be prompted "
0234                                             "for the administrator (root) password in order to make changes "
0235                                             "which require root privileges."));
0236 }
0237 
0238 KGuiItem clear()
0239 {
0240     return KGuiItem(QApplication::translate("KStandardGuiItem", "C&lear"),
0241                     QStringLiteral("edit-clear"),
0242                     QApplication::translate("KStandardGuiItem", "Clear input"),
0243                     QApplication::translate("KStandardGuiItem", "Clear the input in the edit field"));
0244 }
0245 
0246 KGuiItem help()
0247 {
0248     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Help", "show help"),
0249                     QStringLiteral("help-contents"),
0250                     QApplication::translate("KStandardGuiItem", "Show help"));
0251 }
0252 
0253 KGuiItem close()
0254 {
0255     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Close"),
0256                     QStringLiteral("window-close"),
0257                     QApplication::translate("KStandardGuiItem", "Close the current window or document"));
0258 }
0259 
0260 KGuiItem closeWindow()
0261 {
0262     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Close Window"),
0263                     QStringLiteral("window-close"),
0264                     QApplication::translate("KStandardGuiItem", "Close the current window."));
0265 }
0266 
0267 KGuiItem closeDocument()
0268 {
0269     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Close Document"),
0270                     QStringLiteral("document-close"),
0271                     QApplication::translate("KStandardGuiItem", "Close the current document."));
0272 }
0273 
0274 KGuiItem defaults()
0275 {
0276     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Defaults"),
0277                     QStringLiteral("document-revert"),
0278                     QApplication::translate("KStandardGuiItem", "Reset all items to their default values"));
0279 }
0280 
0281 KGuiItem back(BidiMode useBidi)
0282 {
0283     QString icon = (useBidi == UseRTL && QApplication::isRightToLeft()) ? QStringLiteral("go-next") : QStringLiteral("go-previous");
0284     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Back", "go back"), icon, QApplication::translate("KStandardGuiItem", "Go back one step"));
0285 }
0286 
0287 KGuiItem forward(BidiMode useBidi)
0288 {
0289     QString icon = (useBidi == UseRTL && QApplication::isRightToLeft()) ? QStringLiteral("go-previous") : QStringLiteral("go-next");
0290     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Forward", "go forward"),
0291                     icon,
0292                     QApplication::translate("KStandardGuiItem", "Go forward one step"));
0293 }
0294 
0295 QPair<KGuiItem, KGuiItem> backAndForward()
0296 {
0297     return qMakePair(back(UseRTL), forward(UseRTL));
0298 }
0299 
0300 KGuiItem print()
0301 {
0302     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Print..."),
0303                     QStringLiteral("document-print"),
0304                     QApplication::translate("KStandardGuiItem",
0305                                             "Opens the print dialog to print "
0306                                             "the current document"));
0307 }
0308 
0309 KGuiItem cont()
0310 {
0311     return KGuiItem(QApplication::translate("KStandardGuiItem", "C&ontinue"),
0312                     QStringLiteral("arrow-right"),
0313                     QApplication::translate("KStandardGuiItem", "Continue operation"));
0314 }
0315 
0316 KGuiItem del()
0317 {
0318     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Delete"),
0319                     QStringLiteral("edit-delete"),
0320                     QApplication::translate("KStandardGuiItem", "Delete item(s)"));
0321 }
0322 
0323 KGuiItem open()
0324 {
0325     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Open..."),
0326                     QStringLiteral("document-open"),
0327                     QApplication::translate("KStandardGuiItem", "Open file"));
0328 }
0329 
0330 KGuiItem quit()
0331 {
0332     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Quit"),
0333                     QStringLiteral("application-exit"),
0334                     QApplication::translate("KStandardGuiItem", "Quit application"));
0335 }
0336 
0337 KGuiItem reset()
0338 {
0339     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Reset"),
0340                     QStringLiteral("edit-undo"),
0341                     QApplication::translate("KStandardGuiItem", "Reset configuration"));
0342 }
0343 
0344 KGuiItem insert()
0345 {
0346     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Insert", "Verb"));
0347 }
0348 
0349 KGuiItem configure()
0350 {
0351     return KGuiItem(QApplication::translate("KStandardGuiItem", "Confi&gure..."), QStringLiteral("configure"));
0352 }
0353 
0354 KGuiItem find()
0355 {
0356     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Find"), QStringLiteral("edit-find"));
0357 }
0358 
0359 KGuiItem stop()
0360 {
0361     return KGuiItem(QApplication::translate("KStandardGuiItem", "Stop"), QStringLiteral("process-stop"));
0362 }
0363 
0364 KGuiItem add()
0365 {
0366     return KGuiItem(QApplication::translate("KStandardGuiItem", "Add"), QStringLiteral("list-add"));
0367 }
0368 
0369 KGuiItem remove()
0370 {
0371     return KGuiItem(QApplication::translate("KStandardGuiItem", "Remove"), QStringLiteral("list-remove"));
0372 }
0373 
0374 KGuiItem test()
0375 {
0376     return KGuiItem(QApplication::translate("KStandardGuiItem", "Test"));
0377 }
0378 
0379 KGuiItem properties()
0380 {
0381     return KGuiItem(QApplication::translate("KStandardGuiItem", "Properties"), QStringLiteral("document-properties"));
0382 }
0383 
0384 KGuiItem overwrite()
0385 {
0386     return KGuiItem(QApplication::translate("KStandardGuiItem", "&Overwrite"), QStringLiteral("document-replace"));
0387 }
0388 
0389 void assign(QPushButton *button, StandardItem item)
0390 {
0391     KGuiItem::assign(button, KStandardGuiItem::guiItem(item));
0392 }
0393 
0394 } // KStandardGuiItem namespace