@@ -75,6 +75,9 @@ void PanelsPane::setCurrentSettings(qint8 panelNumber) {
7575 // Panel height
7676 ui->thicknessSpinBox ->setValue (panelsPaneConfig[panelName].toObject ()[" thickness" ].toInt ());
7777
78+ // Screen
79+ ui->screenComboBox ->setCurrentIndex (ui->screenComboBox ->findText (panelsPaneConfig[panelName].toObject ()[" screen" ].toString ()));
80+
7881 // Panel location
7982 if (panelsPaneConfig[panelName].toObject ()[" location" ].toString () == " top" ) {
8083 ui->topRadioButton ->setChecked (true );
@@ -94,6 +97,9 @@ void PanelsPane::setCurrentSettings(qint8 panelNumber) {
9497
9598 // Spacing between applets
9699 ui->spacingSpinBox ->setValue (panelsPaneConfig[panelName].toObject ()[" spacing" ].toInt ());
100+
101+ // Margin
102+ ui->marginSpinBox ->setValue (panelsPaneConfig[panelName].toObject ()[" margin" ].toInt ());
97103}
98104
99105void PanelsPane::saveSettings (qint8 panelNumber) {
@@ -120,6 +126,9 @@ void PanelsPane::saveSettings(qint8 panelNumber) {
120126 // Panel height
121127 panelObject[" thickness" ] = QJsonValue (ui->thicknessSpinBox ->value ());
122128
129+ // Screen
130+ panelObject[" screen" ] = QJsonValue (ui->screenComboBox ->currentText ());
131+
123132 // Panel location
124133 if (ui->topRadioButton ->isChecked ()) {
125134 panelObject[" location" ] = QJsonValue (" top" );
@@ -140,6 +149,9 @@ void PanelsPane::saveSettings(qint8 panelNumber) {
140149 // Spacing between applets
141150 panelObject[" spacing" ] = QJsonValue (ui->spacingSpinBox ->value ());
142151
152+ // Margin
153+ panelObject[" margin" ] = QJsonValue (ui->marginSpinBox ->value ());
154+
143155
144156 panelsPaneConfig[panelName] = panelObject;
145157 Pane::saveConfig (panelsPaneConfig);
@@ -177,6 +189,10 @@ PanelsPane::PanelsPane(QWidget *parent, Settings* controlCenter) :
177189 panelsPaneConfig[" accent" ].toString () + \
178190 " ; color: #ffffff };" );
179191
192+ // Screen ComboBox accent
193+ ui->screenComboBox ->setStyleSheet (" QComboBox { selection-background-color: " + \
194+ panelsPaneConfig[" accent" ].toString () + " ; }" );
195+
180196 // Applet icons
181197 iconByApplet[" appmenu" ] = " app-launcher" ;
182198 iconByApplet[" windowlist" ] = " kwin" ;
@@ -211,7 +227,6 @@ PanelsPane::PanelsPane(QWidget *parent, Settings* controlCenter) :
211227 nameByApplet[" sni" ] = " SNI tray" ;
212228 nameByApplet[" clioutput" ] = " CLI Output" ;
213229
214-
215230 for (qint8 i = 0 ; i < ui->availableAppletsListWidget ->count (); ++i) {
216231 QListWidgetItem* item = ui->availableAppletsListWidget ->item (i);
217232 item->setIcon (QIcon::fromTheme (iconByApplet[item->text ()]));
@@ -228,6 +243,13 @@ PanelsPane::PanelsPane(QWidget *parent, Settings* controlCenter) :
228243 // Set max shift
229244 ui->shiftSpinBox ->setMaximum (QGuiApplication::primaryScreen ()->geometry ().width ());
230245
246+ // Add existing monitors
247+ QList<QScreen*> screens = QGuiApplication::screens ();
248+ foreach (QScreen* screen, screens) {
249+ ui->screenComboBox ->addItem (screen->name ());
250+ }
251+
252+
231253 // Make connections
232254 this ->connect (ui->panelsListWidget , &QListWidget::itemClicked, this ,
233255 [this ]() {
0 commit comments