11#include " behaviour.h"
2+ #include < QVectorIterator>
23#include " find-themes.h"
34#include " macros.h"
5+ #include " pair.h"
46#include " settings.h"
57#include " ./ui_behaviour.h"
68
@@ -17,13 +19,24 @@ Behaviour::~Behaviour()
1719void Behaviour::activate ()
1820{
1921 /* Placement Policy */
20- QStringList policies = { " " , " Automatic" , " Cascade" , " Center" , " Cursor" };
21- ui->placementPolicy ->addItems (policies);
22- ui->placementPolicy ->setCurrentIndex (
23- policies.indexOf (getStr (" /labwc_config/placement/policy" )));
22+ QVector<QSharedPointer<Pair>> policies;
23+ policies.append (QSharedPointer<Pair>(new Pair (" automatic" , tr (" Automatic" ))));
24+ policies.append (QSharedPointer<Pair>(new Pair (" cascade" , tr (" Cascade" ))));
25+ policies.append (QSharedPointer<Pair>(new Pair (" center" , tr (" Center" ))));
26+ policies.append (QSharedPointer<Pair>(new Pair (" cursor" , tr (" Cursor" ))));
27+
28+ QString current = getStr (" /labwc_config/placement/policy" );
29+ int index = -1 ;
30+ foreach (auto policy, policies) {
31+ ui->placementPolicy ->addItem (policy.get ()->description (), QVariant (policy.get ()->value ()));
32+ ++index;
33+ if (current == policy.get ()->value ()) {
34+ ui->placementPolicy ->setCurrentIndex (index);
35+ }
36+ }
2437}
2538
2639void Behaviour::onApply ()
2740{
28- setStr (" /labwc_config/placement/policy" , TEXT (ui->placementPolicy ));
41+ setStr (" /labwc_config/placement/policy" , DATA (ui->placementPolicy ));
2942}
0 commit comments