aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop/desktop-plugins/LDPlugin.cpp
blob: ebed6d906c9855f8cf00e91c911b180dd4f5ef97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//===========================================
//  Lumina-DE source code
//  Copyright (c) 2014-2015, Ken Moore
//  Available under the 3-clause BSD license
//  See the LICENSE file for full details
//===========================================
#include "LDPlugin.h"

#include "../LSession.h"

LDPlugin::LDPlugin(QWidget *parent, QString id) : QFrame(parent){
  PLUGID=id;
  prefix = id.replace("/","_")+"/";
  //qDebug() << "ID:" << PLUGID << prefix;
  settings = LSession::handle()->DesktopPluginSettings();
  //Use plugin-specific values for stylesheet control (applauncher, desktopview, etc...)
  this->setObjectName(id.section("---",0,0).section("::",0,0));
}

void LDPlugin::setInitialSize(int width, int height){
    //Note: Only run this in the plugin initization routine:
    //  if the plugin is completely new (first time used), it will be this size
    if(settings->allKeys().filter(prefix+"location").isEmpty()){
	//Brand new plugin: set initial size
	//qDebug() << "Setting Initial Size:" << PLUGID << width << height;
	settings->setValue(prefix+"location/width",width);
	settings->setValue(prefix+"location/height",height);
	settings->sync();
    }
    //Now make sure the plugin is the saved size right away
    this->resize( settings->value(prefix+"location/width").toInt(), settings->value(prefix+"location/height").toInt());
}

void LDPlugin::adjustSize(int width, int height){
  settings->setValue(prefix+"location/width",width);
  settings->setValue(prefix+"location/height",height);
  settings->sync();	
  this->resize(width,height);
  emit PluginResized();
}
bgstack15