aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src-qt5/core-utils/lumina-config/globals.h1
-rw-r--r--src-qt5/core-utils/lumina-config/main.cpp3
-rw-r--r--src-qt5/core-utils/lumina-config/pages/getPage.h8
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_main.cpp12
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_session_locale.cpp113
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_session_locale.h35
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_session_locale.ui8
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_session_options.cpp172
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_session_options.h39
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_session_options.ui8
-rw-r--r--src-qt5/core-utils/lumina-config/pages/pages.pri12
11 files changed, 388 insertions, 23 deletions
diff --git a/src-qt5/core-utils/lumina-config/globals.h b/src-qt5/core-utils/lumina-config/globals.h
index b7468970..c96aaaa3 100644
--- a/src-qt5/core-utils/lumina-config/globals.h
+++ b/src-qt5/core-utils/lumina-config/globals.h
@@ -21,6 +21,7 @@
#include <QColorDialog>
#include <QMessageBox>
#include <QShortcut>
+#include <QImageReader>
//Now the Lumina Library classes
#include <LuminaXDG.h>
diff --git a/src-qt5/core-utils/lumina-config/main.cpp b/src-qt5/core-utils/lumina-config/main.cpp
index a63e0fbe..8056a083 100644
--- a/src-qt5/core-utils/lumina-config/main.cpp
+++ b/src-qt5/core-utils/lumina-config/main.cpp
@@ -19,8 +19,7 @@ int main(int argc, char ** argv)
LuminaThemeEngine theme(&a);
- MainUI w;
- //mainWindow w;
+ mainWindow w;
QObject::connect(&a, SIGNAL(InputsAvailable(QStringList)), &w, SLOT(slotSingleInstance()) );
QObject::connect(&theme, SIGNAL(updateIcons()), &w, SLOT(setupIcons()) );
w.show();
diff --git a/src-qt5/core-utils/lumina-config/pages/getPage.h b/src-qt5/core-utils/lumina-config/pages/getPage.h
index 90358edf..b38e614f 100644
--- a/src-qt5/core-utils/lumina-config/pages/getPage.h
+++ b/src-qt5/core-utils/lumina-config/pages/getPage.h
@@ -23,7 +23,7 @@ static PAGEINFO PageInfo(QString ID, QString i_name, QString i_title, QString i_
//List all the known pages
// **** Add new page entries here ****
static QList<PAGEINFO> KnownPages(){
- // Valid Groups: ["appearance", "interface", "session", "apps"]
+ // Valid Groups: ["appearance", "interface", "session", "user"]
QList<PAGEINFO> list;
//Reminder: <ID>, <name>, <title>, <icon>, <comment>, <category>, <server subsytem list>, <search tags>
list << PageInfo("wallpaper", QObject::tr("Change Wallpaper"), QObject::tr("Wallpaper Settings"), "preferences-desktop-wallpaper",QObject::tr("Change background image(s)"), "appearance", QStringList(), QStringList() << "background" << "wallpaper" << "color" << "image");
@@ -35,6 +35,8 @@ static QList<PAGEINFO> KnownPages(){
list << PageInfo("interface-desktop", QObject::tr("Desktop Icons and Plugins"), QObject::tr("Desktop Plugins"), "preferences-desktop-icons",QObject::tr("Change what icons or tools are embedded on the desktop"), "interface", QStringList(), QStringList() << "desktop" << "plugins" << "embed" << "icons" << "utilities");
list << PageInfo("interface-panel", QObject::tr("Floating Panels and Plugins"), QObject::tr("Panels and Plugins"), "configure-toolbars",QObject::tr("Change any floating panels and what they show"), "interface", QStringList(), QStringList() << "desktop" << "toolbar" << "panel" << "floating" << "plugins");
list << PageInfo("interface-menu", QObject::tr("Context Menu and Plugins"), QObject::tr("Menu Plugins"), "preferences-plugin",QObject::tr("Change what options are shown on the desktop context menu"), "interface", QStringList(), QStringList() << "desktop" << "menu" << "plugins" << "shortcuts");
+ list << PageInfo("session-locale", QObject::tr("Localization Options"), QObject::tr("Locale Settings"), "preferences-desktop-locale",QObject::tr("Change the default locale settings for this user"), "user", QStringList(), QStringList() << "user"<<"locale"<<"language"<<"translations");
+ list << PageInfo("session-options", QObject::tr("General Options"), QObject::tr("User Settings"), "configure",QObject::tr("Change basic user settings such as time/date formats"), "user", QStringList(), QStringList() << "user"<<"settings"<<"time"<<"date"<<"icon"<<"reset"<<"numlock"<<"clock");
return list;
}
@@ -49,6 +51,8 @@ static QList<PAGEINFO> KnownPages(){
#include "page_interface_desktop.h"
#include "page_interface_panels.h"
#include "page_interface_menu.h"
+#include "page_session_locale.h"
+#include "page_session_options.h"
static PageWidget* GetNewPage(QString id, QWidget *parent){
//Find the page that matches this "id"
@@ -61,6 +65,8 @@ static PageWidget* GetNewPage(QString id, QWidget *parent){
else if(id=="interface-desktop"){ return new page_interface_desktop(parent); }
else if(id=="interface-panel"){ return new page_interface_panels(parent); }
else if(id=="interface-menu"){ return new page_interface_menu(parent); }
+ else if(id=="session-locale"){ return new page_session_locale(parent); }
+ else if(id=="session-options"){ return new page_session_options(parent); }
//Return the main control_panel page as the fallback/default
return new page_main(parent);
}
diff --git a/src-qt5/core-utils/lumina-config/pages/page_main.cpp b/src-qt5/core-utils/lumina-config/pages/page_main.cpp
index f8168e0b..ec03f8a5 100644
--- a/src-qt5/core-utils/lumina-config/pages/page_main.cpp
+++ b/src-qt5/core-utils/lumina-config/pages/page_main.cpp
@@ -35,9 +35,9 @@ void page_main::UpdateItems(QString search){
QTreeWidgetItem *session = new QTreeWidgetItem();
session->setIcon(0, LXDG::findIcon("preferences-system-session-services",""));
session->setText(0, tr("Desktop Session Options"));
- QTreeWidgetItem *apps = new QTreeWidgetItem();
- apps->setIcon(0, LXDG::findIcon("preferences-desktop-filetype-association",""));
- apps->setText(0, tr("Application Settings"));
+ QTreeWidgetItem *user = new QTreeWidgetItem();
+ user->setIcon(0, LXDG::findIcon("preferences-desktop-user",""));
+ user->setText(0, tr("User Settings"));
//Now go through and add in the known pages for each category
QStringList SL = search.split(" "); //search list
for(int i=0; i<INFO.length(); i++){
@@ -51,7 +51,7 @@ void page_main::UpdateItems(QString search){
}
if(!ok){ continue; } //no duplicates between search terms and available info
}
- qDebug() << "Item Found:" << INFO[i].id << INFO[i].title;
+ //qDebug() << "Item Found:" << INFO[i].id << INFO[i].title;
QTreeWidgetItem *it = new QTreeWidgetItem();
it->setIcon(0, LXDG::findIcon(INFO[i].icon,"") );
it->setText(0, INFO[i].name);
@@ -61,14 +61,14 @@ void page_main::UpdateItems(QString search){
if(INFO[i].category=="interface"){ interface->addChild(it); }
else if(INFO[i].category=="appearance"){ appearance->addChild(it); }
else if(INFO[i].category=="session"){ session->addChild(it); }
- else if(INFO[i].category=="apps"){ apps->addChild(it); }
+ else if(INFO[i].category=="user"){ user->addChild(it); }
else{ ui->treeWidget->addTopLevelItem(it); }
}
//Now add the categories to the tree widget if they are non-empty
if(interface->childCount()>0){ ui->treeWidget->addTopLevelItem(interface); interface->setExpanded(true); }
if(appearance->childCount()>0){ ui->treeWidget->addTopLevelItem(appearance); appearance->setExpanded(true); }
if(session->childCount()>0){ ui->treeWidget->addTopLevelItem(session); session->setExpanded(true); }
- if(apps->childCount()>0){ ui->treeWidget->addTopLevelItem(apps); apps->setExpanded(true); }
+ if(user->childCount()>0){ ui->treeWidget->addTopLevelItem(user); user->setExpanded(true); }
}
//================
diff --git a/src-qt5/core-utils/lumina-config/pages/page_session_locale.cpp b/src-qt5/core-utils/lumina-config/pages/page_session_locale.cpp
new file mode 100644
index 00000000..ad5aa7f7
--- /dev/null
+++ b/src-qt5/core-utils/lumina-config/pages/page_session_locale.cpp
@@ -0,0 +1,113 @@
+//===========================================
+// Lumina Desktop Source Code
+// Copyright (c) 2016, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "page_session_locale.h"
+#include "ui_page_session_locale.h"
+#include "getPage.h"
+
+//==========
+// PUBLIC
+//==========
+page_session_locale::page_session_locale(QWidget *parent) : PageWidget(parent), ui(new Ui::page_session_locale()){
+ ui->setupUi(this);
+ setupLocales();
+ connect(ui->combo_locale_lang, SIGNAL(currentIndexChanged(int)), this, SLOT(settingChanged()) );
+ connect(ui->combo_locale_collate, SIGNAL(currentIndexChanged(int)), this, SLOT(settingChanged()) );
+ connect(ui->combo_locale_ctype, SIGNAL(currentIndexChanged(int)), this, SLOT(settingChanged()) );
+ connect(ui->combo_locale_message, SIGNAL(currentIndexChanged(int)), this, SLOT(settingChanged()) );
+ connect(ui->combo_locale_monetary, SIGNAL(currentIndexChanged(int)), this, SLOT(settingChanged()) );
+ connect(ui->combo_locale_numeric, SIGNAL(currentIndexChanged(int)), this, SLOT(settingChanged()) );
+ connect(ui->combo_locale_time, SIGNAL(currentIndexChanged(int)), this, SLOT(settingChanged()) );
+ updateIcons();
+}
+
+page_session_locale::~page_session_locale(){
+
+}
+
+//================
+// PUBLIC SLOTS
+//================
+void page_session_locale::SaveSettings(){
+ QSettings sessionsettings("lumina-desktop","sessionsettings");
+ sessionsettings.setValue("InitLocale/LANG", ui->combo_locale_lang->currentData().toString() );
+ sessionsettings.setValue("InitLocale/LC_MESSAGES", ui->combo_locale_message->currentData().toString() );
+ sessionsettings.setValue("InitLocale/LC_TIME", ui->combo_locale_time->currentData().toString() );
+ sessionsettings.setValue("InitLocale/LC_NUMERIC", ui->combo_locale_numeric->currentData().toString() );
+ sessionsettings.setValue("InitLocale/LC_MONETARY", ui->combo_locale_monetary->currentData().toString() );
+ sessionsettings.setValue("InitLocale/LC_COLLATE", ui->combo_locale_collate->currentData().toString() );
+ sessionsettings.setValue("InitLocale/LC_CTYPE", ui->combo_locale_ctype->currentData().toString() );
+ emit HasPendingChanges(false);
+}
+
+void page_session_locale::LoadSettings(int){
+ emit HasPendingChanges(false);
+ emit ChangePageTitle( tr("Desktop Settings") );
+ QSettings sessionsettings("lumina-desktop","sessionsettings");
+
+ QString val = sessionsettings.value("InitLocale/LANG", "").toString();
+ int index = ui->combo_locale_lang->findData(val);
+ if(index<0){ index = 0; } //system default
+ ui->combo_locale_lang->setCurrentIndex(index);
+ val = sessionsettings.value("InitLocale/LC_MESSAGES", "").toString();
+ index = ui->combo_locale_message->findData(val);
+ if(index<0){ index = 0; } //system default
+ ui->combo_locale_message->setCurrentIndex(index);
+ val = sessionsettings.value("InitLocale/LC_TIME", "").toString();
+ index = ui->combo_locale_time->findData(val);
+ if(index<0){ index = 0; } //system default
+ ui->combo_locale_time->setCurrentIndex(index);
+ val = sessionsettings.value("InitLocale/NUMERIC", "").toString();
+ index = ui->combo_locale_numeric->findData(val);
+ if(index<0){ index = 0; } //system default
+ ui->combo_locale_numeric->setCurrentIndex(index);
+ val = sessionsettings.value("InitLocale/MONETARY", "").toString();
+ index = ui->combo_locale_monetary->findData(val);
+ if(index<0){ index = 0; } //system default
+ ui->combo_locale_monetary->setCurrentIndex(index);
+ val = sessionsettings.value("InitLocale/COLLATE", "").toString();
+ index = ui->combo_locale_collate->findData(val);
+ if(index<0){ index = 0; } //system default
+ ui->combo_locale_collate->setCurrentIndex(index);
+ val = sessionsettings.value("InitLocale/CTYPE", "").toString();
+ index = ui->combo_locale_ctype->findData(val);
+ if(index<0){ index = 0; } //system default
+ ui->combo_locale_ctype->setCurrentIndex(index);
+}
+
+void page_session_locale::updateIcons(){
+
+}
+
+//=================
+// PRIVATE
+//=================
+void page_session_locale::setupLocales(){
+//Available localizations
+ QStringList langs = LUtils::knownLocales();
+ langs.sort();
+ QString def = tr("System Default");
+ ui->combo_locale_lang->addItem(def,"");
+ ui->combo_locale_collate->addItem(def,"");
+ ui->combo_locale_ctype->addItem(def,"");
+ ui->combo_locale_message->addItem(def,"");
+ ui->combo_locale_monetary->addItem(def,"");
+ ui->combo_locale_numeric->addItem(def,"");
+ ui->combo_locale_time->addItem(def,"");
+ for(int i=0; i<langs.length(); i++){
+ QString lan = QLocale(langs[i]).nativeLanguageName();
+ ui->combo_locale_lang->addItem(lan,langs[i]);
+ ui->combo_locale_collate->addItem(lan,langs[i]);
+ ui->combo_locale_ctype->addItem(lan,langs[i]);
+ ui->combo_locale_message->addItem(lan,langs[i]);
+ ui->combo_locale_monetary->addItem(lan,langs[i]);
+ ui->combo_locale_numeric->addItem(lan,langs[i]);
+ ui->combo_locale_time->addItem(lan,langs[i]);
+ }
+}
+//=================
+// PRIVATE SLOTS
+//=================
diff --git a/src-qt5/core-utils/lumina-config/pages/page_session_locale.h b/src-qt5/core-utils/lumina-config/pages/page_session_locale.h
new file mode 100644
index 00000000..57b06081
--- /dev/null
+++ b/src-qt5/core-utils/lumina-config/pages/page_session_locale.h
@@ -0,0 +1,35 @@
+//===========================================
+// Lumina Desktop Source Code
+// Copyright (c) 2016, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_CONFIG_PAGE_SESSION_LOCALE_H
+#define _LUMINA_CONFIG_PAGE_SESSION_LOCALE_H
+#include "../globals.h"
+#include "PageWidget.h"
+
+namespace Ui{
+ class page_session_locale;
+};
+
+class page_session_locale : public PageWidget{
+ Q_OBJECT
+public:
+ page_session_locale(QWidget *parent);
+ ~page_session_locale();
+
+public slots:
+ void SaveSettings();
+ void LoadSettings(int screennum);
+ void updateIcons();
+
+private:
+ Ui::page_session_locale *ui;
+
+ void setupLocales();
+
+private slots:
+
+};
+#endif
diff --git a/src-qt5/core-utils/lumina-config/pages/page_session_locale.ui b/src-qt5/core-utils/lumina-config/pages/page_session_locale.ui
index 90cd4ca1..d514e5f2 100644
--- a/src-qt5/core-utils/lumina-config/pages/page_session_locale.ui
+++ b/src-qt5/core-utils/lumina-config/pages/page_session_locale.ui
@@ -15,16 +15,16 @@
</property>
<layout class="QFormLayout" name="formLayout">
<property name="leftMargin">
- <number>0</number>
+ <number>6</number>
</property>
<property name="topMargin">
- <number>0</number>
+ <number>6</number>
</property>
<property name="rightMargin">
- <number>0</number>
+ <number>6</number>
</property>
<property name="bottomMargin">
- <number>0</number>
+ <number>6</number>
</property>
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="label_30">
diff --git a/src-qt5/core-utils/lumina-config/pages/page_session_options.cpp b/src-qt5/core-utils/lumina-config/pages/page_session_options.cpp
new file mode 100644
index 00000000..4f678ab3
--- /dev/null
+++ b/src-qt5/core-utils/lumina-config/pages/page_session_options.cpp
@@ -0,0 +1,172 @@
+//===========================================
+// Lumina Desktop Source Code
+// Copyright (c) 2016, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "page_session_options.h"
+#include "ui_page_session_options.h"
+#include "getPage.h"
+
+//==========
+// PUBLIC
+//==========
+page_session_options::page_session_options(QWidget *parent) : PageWidget(parent), ui(new Ui::page_session_options()){
+ ui->setupUi(this);
+
+ //Display formats for panel clock
+ ui->combo_session_datetimeorder->clear();
+ ui->combo_session_datetimeorder->addItem( tr("Time (Date as tooltip)"), "timeonly");
+ ui->combo_session_datetimeorder->addItem( tr("Date (Time as tooltip)"), "dateonly");
+ ui->combo_session_datetimeorder->addItem( tr("Time first then Date"), "timedate");
+ ui->combo_session_datetimeorder->addItem( tr("Date first then Time"), "datetime");
+
+ connect(ui->push_session_setUserIcon, SIGNAL(clicked()), this, SLOT(sessionChangeUserIcon()) );
+ connect(ui->push_session_resetSysDefaults, SIGNAL(clicked()), this, SLOT(sessionResetSys()) );
+ connect(ui->push_session_resetLuminaDefaults, SIGNAL(clicked()), this, SLOT(sessionResetLumina()) );
+ connect(ui->tool_help_time, SIGNAL(clicked()), this, SLOT(sessionShowTimeCodes()) );
+ connect(ui->tool_help_date, SIGNAL(clicked()), this, SLOT(sessionShowDateCodes()) );
+ connect(ui->line_session_time, SIGNAL(textChanged(QString)), this, SLOT(sessionLoadTimeSample()) );
+ connect(ui->line_session_date, SIGNAL(textChanged(QString)), this, SLOT(sessionLoadDateSample()) );
+ connect(ui->combo_session_datetimeorder, SIGNAL(currentIndexChanged(int)), this, SLOT(settingChanged()) );
+ updateIcons();
+
+}
+
+page_session_options::~page_session_options(){
+
+}
+
+//================
+// PUBLIC SLOTS
+//================
+void page_session_options::SaveSettings(){
+ QSettings sessionsettings("lumina-desktop","sessionsettings");
+ sessionsettings.setValue("EnableNumlock", ui->check_session_numlock->isChecked());
+ sessionsettings.setValue("PlayStartupAudio", ui->check_session_playloginaudio->isChecked());
+ sessionsettings.setValue("PlayLogoutAudio", ui->check_session_playlogoutaudio->isChecked());
+ sessionsettings.setValue("TimeFormat", ui->line_session_time->text());
+ sessionsettings.setValue("DateFormat", ui->line_session_date->text());
+ sessionsettings.setValue("DateTimeOrder", ui->combo_session_datetimeorder->currentData().toString());
+ emit HasPendingChanges(false);
+}
+
+void page_session_options::LoadSettings(int){
+ emit HasPendingChanges(false);
+ emit ChangePageTitle( tr("Desktop Settings") );
+ QSettings sessionsettings("lumina-desktop","sessionsettings");
+ ui->check_session_numlock->setChecked( sessionsettings.value("EnableNumlock", true).toBool() );
+ ui->check_session_playloginaudio->setChecked( sessionsettings.value("PlayStartupAudio",true).toBool() );
+ ui->check_session_playlogoutaudio->setChecked( sessionsettings.value("PlayLogoutAudio",true).toBool() );
+ ui->push_session_setUserIcon->setIcon( LXDG::findIcon(QDir::homePath()+"/.loginIcon.png", "user-identity") );
+ ui->line_session_time->setText( sessionsettings.value("TimeFormat","").toString() );
+ ui->line_session_date->setText( sessionsettings.value("DateFormat","").toString() );
+ int index = ui->combo_session_datetimeorder->findData( sessionsettings.value("DateTimeOrder","timeonly").toString() );
+ ui->combo_session_datetimeorder->setCurrentIndex(index);
+
+ sessionLoadTimeSample();
+ sessionLoadDateSample();
+}
+
+void page_session_options::updateIcons(){
+ ui->push_session_resetSysDefaults->setIcon( LXDG::findIcon("start-here-lumina","view-refresh") );
+ ui->push_session_resetLuminaDefaults->setIcon( LXDG::findIcon("Lumina-DE","") );
+ ui->tool_help_time->setIcon( LXDG::findIcon("help-about","") );
+ ui->tool_help_date->setIcon( LXDG::findIcon("help-about","") );
+}
+
+//=================
+// PRIVATE
+//=================
+
+//=================
+// PRIVATE SLOTS
+//=================
+void page_session_options::sessionChangeUserIcon(){
+ //Prompt for a new image file
+ QStringList imgformats;
+ QList<QByteArray> fmts = QImageReader::supportedImageFormats();
+ for(int i=0; i<fmts.length(); i++){
+ imgformats << "*."+QString(fmts[i]);
+ }
+ QString filepath = QFileDialog::getOpenFileName(this, tr("Select an image"), QDir::homePath(), \
+ tr("Images")+" ("+imgformats.join(" ")+")");
+ if(filepath.isEmpty()){
+ //User cancelled the operation
+ if(QFile::exists(QDir::homePath()+"/.loginIcon.png")){
+ if(QMessageBox::Yes == QMessageBox::question(this,tr("Reset User Image"), tr("Would you like to reset the user image to the system default?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::No) ){
+ //QFile::remove(QDir::homePath()+"/.loginIcon.png");
+ ui->push_session_setUserIcon->setWhatsThis("reset");
+ }else{
+ return;
+ }
+ }
+ }else{
+ ui->push_session_setUserIcon->setWhatsThis(filepath);
+ }
+ //Now re-load the icon in the UI
+ QString path = ui->push_session_setUserIcon->whatsThis();
+ if(path.isEmpty()){ path = QDir::homePath()+"/.loginIcon.png"; }
+ if(path=="reset"){ path.clear(); }
+ ui->push_session_setUserIcon->setIcon( LXDG::findIcon(path, "user-identity") );
+ settingChanged();
+}
+
+void page_session_options::sessionResetSys(){
+ LUtils::LoadSystemDefaults();
+ QTimer::singleShot(500,this, SLOT(LoadSettings()) );
+}
+
+void page_session_options::sessionResetLumina(){
+ LUtils::LoadSystemDefaults(true); //skip OS customizations
+ QTimer::singleShot(500,this, SLOT(LoadSettings()) );
+}
+
+void page_session_options::sessionLoadTimeSample(){
+ if(ui->line_session_time->text().simplified().isEmpty()){
+ ui->label_session_timesample->setText( QTime::currentTime().toString(Qt::DefaultLocaleShortDate) );
+ }else{
+ ui->label_session_timesample->setText( QTime::currentTime().toString( ui->line_session_time->text() ) );
+ }
+ settingChanged();
+}
+
+void page_session_options::sessionShowTimeCodes(){
+ QStringList msg;
+ msg << tr("Valid Time Codes:") << "\n";
+ msg << QString(tr("%1: Hour without leading zero (1)")).arg("h");
+ msg << QString(tr("%1: Hour with leading zero (01)")).arg("hh");
+ msg << QString(tr("%1: Minutes without leading zero (2)")).arg("m");
+ msg << QString(tr("%1: Minutes with leading zero (02)")).arg("mm");
+ msg << QString(tr("%1: Seconds without leading zero (3)")).arg("s");
+ msg << QString(tr("%1: Seconds with leading zero (03)")).arg("ss");
+ msg << QString(tr("%1: AM/PM (12-hour) clock (upper or lower case)")).arg("A or a");
+ msg << QString(tr("%1: Timezone")).arg("t");
+ QMessageBox::information(this, tr("Time Codes"), msg.join("\n") );
+}
+
+void page_session_options::sessionLoadDateSample(){
+ if(ui->line_session_date->text().simplified().isEmpty()){
+ ui->label_session_datesample->setText( QDate::currentDate().toString(Qt::DefaultLocaleShortDate) );
+ }else{
+ ui->label_session_datesample->setText( QDate::currentDate().toString( ui->line_session_date->text() ) );
+ }
+ settingChanged();
+}
+
+void page_session_options::sessionShowDateCodes(){
+ QStringList msg;
+ msg << tr("Valid Date Codes:") << "\n";
+ msg << QString(tr("%1: Numeric day without a leading zero (1)")).arg("d");
+ msg << QString(tr("%1: Numeric day with leading zero (01)")).arg("dd");
+ msg << QString(tr("%1: Day as abbreviation (localized)")).arg("ddd");
+ msg << QString(tr("%1: Day as full name (localized)")).arg("dddd");
+ msg << QString(tr("%1: Numeric month without leading zero (2)")).arg("M");
+ msg << QString(tr("%1: Numeric month with leading zero (02)")).arg("MM");
+ msg << QString(tr("%1: Month as abbreviation (localized)")).arg("MMM");
+ msg << QString(tr("%1: Month as full name (localized)")).arg("MMMM");
+ msg << QString(tr("%1: Year as 2-digit number (15)")).arg("yy");
+ msg << QString(tr("%1: Year as 4-digit number (2015)")).arg("yyyy");
+ msg << tr("Text may be contained within single-quotes to ignore replacements");
+ QMessageBox::information(this, tr("Date Codes"), msg.join("\n") );
+}
diff --git a/src-qt5/core-utils/lumina-config/pages/page_session_options.h b/src-qt5/core-utils/lumina-config/pages/page_session_options.h
new file mode 100644
index 00000000..bd293972
--- /dev/null
+++ b/src-qt5/core-utils/lumina-config/pages/page_session_options.h
@@ -0,0 +1,39 @@
+//===========================================
+// Lumina Desktop Source Code
+// Copyright (c) 2016, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_CONFIG_PAGE_SESSION_OPTIONS_H
+#define _LUMINA_CONFIG_PAGE_SESSION_OPTIONS_H
+#include "../globals.h"
+#include "PageWidget.h"
+
+namespace Ui{
+ class page_session_options;
+};
+
+class page_session_options : public PageWidget{
+ Q_OBJECT
+public:
+ page_session_options(QWidget *parent);
+ ~page_session_options();
+
+public slots:
+ void SaveSettings();
+ void LoadSettings(int screennum = -1);
+ void updateIcons();
+
+private:
+ Ui::page_session_options *ui;
+
+private slots:
+ void sessionChangeUserIcon();
+ void sessionResetSys();
+ void sessionResetLumina();
+ void sessionLoadTimeSample();
+ void sessionShowTimeCodes();
+ void sessionLoadDateSample();
+ void sessionShowDateCodes();
+};
+#endif
diff --git a/src-qt5/core-utils/lumina-config/pages/page_session_options.ui b/src-qt5/core-utils/lumina-config/pages/page_session_options.ui
index 03453d6d..b0e5fb91 100644
--- a/src-qt5/core-utils/lumina-config/pages/page_session_options.ui
+++ b/src-qt5/core-utils/lumina-config/pages/page_session_options.ui
@@ -15,16 +15,16 @@
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
- <number>0</number>
+ <number>6</number>
</property>
<property name="topMargin">
- <number>0</number>
+ <number>6</number>
</property>
<property name="rightMargin">
- <number>0</number>
+ <number>6</number>
</property>
<property name="bottomMargin">
- <number>0</number>
+ <number>6</number>
</property>
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout_4">
diff --git a/src-qt5/core-utils/lumina-config/pages/pages.pri b/src-qt5/core-utils/lumina-config/pages/pages.pri
index ab97e07d..5e4ffca9 100644
--- a/src-qt5/core-utils/lumina-config/pages/pages.pri
+++ b/src-qt5/core-utils/lumina-config/pages/pages.pri
@@ -10,9 +10,9 @@ HEADERS += $${PWD}/getPage.h \
$${PWD}/page_fluxbox_settings.h \
$${PWD}/page_interface_desktop.h \
$${PWD}/page_interface_menu.h \
- $${PWD}/page_interface_panels.h
-# $${PWD}/page_session_locale.h \
-# $${PWD}/page_session_options.h \
+ $${PWD}/page_interface_panels.h \
+ $${PWD}/page_session_locale.h \
+ $${PWD}/page_session_options.h
SOURCES += $${PWD}/page_main.cpp \
@@ -24,9 +24,9 @@ SOURCES += $${PWD}/page_main.cpp \
$${PWD}/page_fluxbox_settings.cpp \
$${PWD}/page_interface_desktop.cpp \
$${PWD}/page_interface_menu.cpp \
- $${PWD}/page_interface_panels.cpp
-# $${PWD}/page_session_locale.cpp \
-# $${PWD}/page_session_options.cpp \
+ $${PWD}/page_interface_panels.cpp \
+ $${PWD}/page_session_locale.cpp \
+ $${PWD}/page_session_options.cpp
FORMS += $${PWD}/page_main.ui \
bgstack15