aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Moore <moorekou@gmail.com>2015-10-20 14:15:05 -0400
committerKen Moore <moorekou@gmail.com>2015-10-20 14:15:05 -0400
commit20aa87623b3795d8bc21174598da33ce637e993f (patch)
tree7923e74b6de7eb1ea9036ae4a657cc07048e4d02
parentOk, *Now* the desktop plugin resizing routine works properly. Also try to fix... (diff)
downloadlumina-20aa87623b3795d8bc21174598da33ce637e993f.tar.gz
lumina-20aa87623b3795d8bc21174598da33ce637e993f.tar.bz2
lumina-20aa87623b3795d8bc21174598da33ce637e993f.zip
Ok, Now the desktop plugin canvas has truly been converted to a grid-space coordinate system. Also setup the desktop plugins to assign a default size for themselves in grid-space rather than pixels (better accounts for screen scaling and such on high-resolution monitors).
-rw-r--r--lumina-desktop/LDesktopPluginSpace.cpp81
-rw-r--r--lumina-desktop/LDesktopPluginSpace.h61
-rw-r--r--lumina-desktop/desktop-plugins/LDPlugin.cpp10
-rw-r--r--lumina-desktop/desktop-plugins/LDPlugin.h7
-rw-r--r--lumina-desktop/desktop-plugins/applauncher/AppLauncherPlugin.cpp19
-rw-r--r--lumina-desktop/desktop-plugins/audioplayer/PlayerWidget.cpp1
-rw-r--r--lumina-desktop/desktop-plugins/audioplayer/PlayerWidget.h5
-rw-r--r--lumina-desktop/desktop-plugins/calendar/CalendarPlugin.h6
-rw-r--r--lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp1
-rw-r--r--lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h4
-rw-r--r--lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp3
-rw-r--r--lumina-desktop/desktop-plugins/notepad/NotepadPlugin.h4
-rw-r--r--lumina-desktop/desktop-plugins/quickcontainer/QuickDPlugin.h6
-rw-r--r--lumina-desktop/desktop-plugins/systemmonitor/MonitorWidget.cpp2
-rw-r--r--lumina-desktop/desktop-plugins/systemmonitor/MonitorWidget.h5
15 files changed, 116 insertions, 99 deletions
diff --git a/lumina-desktop/LDesktopPluginSpace.cpp b/lumina-desktop/LDesktopPluginSpace.cpp
index 2732556e..47ed32fd 100644
--- a/lumina-desktop/LDesktopPluginSpace.cpp
+++ b/lumina-desktop/LDesktopPluginSpace.cpp
@@ -43,11 +43,12 @@ void LDesktopPluginSpace::LoadItems(QStringList plugs, QStringList files){
void LDesktopPluginSpace::SetIconSize(int size){
if(DEBUG){ qDebug() << "Set Desktop Icon Size:" << size; }
//QSize newsize = calculateItemSize(size);
+ int oldsize = GRIDSIZE;
GRIDSIZE = size; //turn the int into a float;
- itemSize = QSize(1,1); //save this for all the later icons which are generated (grid size)
- UpdateGeom();
+ //itemSize = QSize(1,1); //save this for all the later icons which are generated (grid size)
+ UpdateGeom(oldsize);
//Now re-set the item icon size
- reloadPlugins(true);
+ //reloadPlugins(true);
}
void LDesktopPluginSpace::cleanup(){
@@ -62,41 +63,37 @@ void LDesktopPluginSpace::cleanup(){
// ===================
// PUBLIC SLOTS
// ===================
-void LDesktopPluginSpace::UpdateGeom(){
+void LDesktopPluginSpace::UpdateGeom(int oldgrid){
if(DEBUG){ qDebug() << "Updated Desktop Geom:" << this->size() << GRIDSIZE << this->size()/GRIDSIZE; }
//Go through and check the locations/sizes of all items (particularly the ones on the bottom/right edges)
- bool reload = false;
+ //bool reload = false;
for(int i=0; i<ITEMS.length(); i++){
- QRect grid = geomToGrid(ITEMS[i]->geometry());
- if(DEBUG){ qDebug() << " - Check Plugin:" << grid; }
- if( (grid.x()+grid.width() > this->width()/GRIDSIZE) || (grid.y()+grid.height() > this->height()/GRIDSIZE) ){
- //This plugin is too far out of the screen - remove it and reload plugins (will find new location for it)
- //qDebug() << " -- Out of bounds - recreate it...";
+ QRect grid = geomToGrid(ITEMS[i]->geometry(), oldgrid);
+ if(DEBUG){ qDebug() << " - Check Plugin:" << ITEMS[i]->whatsThis() << grid; }
+ if( !ValidGrid(grid) ){
+ //This plugin is too far out of the screen - find new location for it
+ if(DEBUG){ qDebug() << " -- Out of bounds - Find a new spot"; }
+ grid = findOpenSpot(grid.width(), grid.height(), grid.y()-1, grid.x()-1); //try to get a nearby spot first
+ }
+ if(!ValidGrid(grid)){
+ qDebug() << "No Place for plugin:" << ITEMS[i]->whatsThis();
+ qDebug() << " - Removing it for now...";
delete ITEMS.takeAt(i);
i--;
- reload = true;
- }else if( (grid.x()+grid.width() == this->width()/GRIDSIZE) || (grid.y()+grid.height() == this->height()/GRIDSIZE) ){
- //This plugin is on the bottom/right screen edge - recalculate edge matching and re-apply geometry
- //qDebug() << " -- On Screen Edge - adjust to fit...";
- ITEMS[i]->setGeometry( gridToGeom(grid) );
+ }else{
+ //NOTE: We are not doing the ValidGeometry() checks because we are only resizing existing plugin with pre-set & valid grid positions
+ grid = gridToGeom(grid); //convert to pixels before saving/sizing
+ ITEMS[i]->setGeometry( grid );
+ ITEMS[i]->setFixedSize(grid.size());
+ ITEMS[i]->savePluginGeometry(grid);
}
}
- if(reload){ QTimer::singleShot(0,this, SLOT(reloadPlugins())); }
+ //if(reload){ QTimer::singleShot(0,this, SLOT(reloadPlugins())); }
}
// ===================
// PRIVATE
// ===================
-QSize LDesktopPluginSpace::calculateItemSize(int icosize){
- //Note: This returns the size in numbers of cells (width = columnspan, height = rowspan)
- QSize sz;
- sz.setWidth(1.8*icosize);
- sz.setWidth( RoundUp(sz.width()/GRIDSIZE)); //always round up to cell numbers
- sz.setHeight(icosize+ 2.3*this->fontMetrics().height() );
- sz.setHeight( RoundUp(sz.height()/GRIDSIZE)); //always round up to cell number
- return sz;
-}
-
void LDesktopPluginSpace::addDesktopItem(QString filepath){
addDesktopPlugin("applauncher::"+filepath+"---dlink"+QString::number(LSession::handle()->desktop()->screenNumber(this)) );
}
@@ -111,15 +108,12 @@ void LDesktopPluginSpace::addDesktopPlugin(QString plugID){
if(!geom.isNull()){ geom = geomToGrid(geom); } //convert to grid coordinates
if(geom.isNull()){
//No previous location - need to calculate initial geom
- QSize sz = plug->sizeHint();
- if(plugID.startsWith("applauncher") ){ sz = itemSize*GRIDSIZE; }
- geom.setWidth( RoundUp(sz.width()/GRIDSIZE) );
- geom.setHeight( RoundUp(sz.height()/GRIDSIZE) );
- geom.moveTo( findOpenSpot(geom.width(), geom.height()) );
+ QSize sz = plug->defaultPluginSize(); //in grid coordinates
+ geom.setSize(sz);
+ geom = findOpenSpot(geom.width(), geom.height() );
}else if(!ValidGeometry(plugID, gridToGeom(geom)) ){
//Find a new location for the plugin (saved location is invalid)
- QPoint pt = findOpenSpot(geom.width(), geom.height(), geom.y()-1, geom.x()-1); //try to get it within the same general area
- geom.moveTo(pt);
+ geom = findOpenSpot(geom.width(), geom.height(), geom.y()-1, geom.x()-1); //try to get it within the same general area
}
if(geom.x() < 0 || geom.y() < 0){
qDebug() << "No available space for desktop plugin:" << plugID << " - IGNORING";
@@ -139,7 +133,7 @@ void LDesktopPluginSpace::addDesktopPlugin(QString plugID){
}
}
-QPoint LDesktopPluginSpace::findOpenSpot(int gridwidth, int gridheight, int startRow, int startCol){
+QRect LDesktopPluginSpace::findOpenSpot(int gridwidth, int gridheight, int startRow, int startCol){
//Note about the return QPoint: x() is the column number, y() is the row number
QPoint pt(0,0);
int row = startRow; int col = startCol;
@@ -192,15 +186,20 @@ QPoint LDesktopPluginSpace::findOpenSpot(int gridwidth, int gridheight, int star
}
}
if(!found){
- //Decrease the size of the item by 1x1 grid points and try again
- if(gridwidth>2 && gridheight>2){
- pt = findOpenSpot(gridwidth-1, gridheight-1, 0, 0);
+
+ if(startRow!=0 || startCol!=0){
+ //Did not check the entire screen yet - try that first
+ return findOpenSpot(gridwidth, gridheight, 0,0);
+ }else if(gridwidth>1 && gridheight>1){
+ //Decrease the size of the item by 1x1 grid points and try again
+ return findOpenSpot(gridwidth-1, gridheight-1, 0, 0);
}else{
- pt.setX(-1); pt.setY(-1); //invalid
qDebug() << "Could not find an open spot for a desktop plugin:" << gridwidth << gridheight << startRow << startCol;
+ return QRect(-1,-1,-1,-1);
}
+ }else{
+ return QRect(pt,QSize(gridwidth,gridheight));
}
- return pt;
}
// ===================
@@ -214,12 +213,12 @@ void LDesktopPluginSpace::reloadPlugins(bool ForceIconUpdate ){
if( ITEMS[i]->whatsThis().startsWith("applauncher") && ForceIconUpdate){
//Change the size of the existing plugin - preserving the location if possible
- QRect geom = ITEMS[i]->loadPluginGeometry(); //pixel coords
+ /*QRect geom = ITEMS[i]->loadPluginGeometry(); //pixel coords
if(!geom.isNull()){
geom = geomToGrid(geom); //convert to grid coords
geom.setSize(itemSize); //Reset back to default size (does not change location)
ITEMS[i]->savePluginGeometry( gridToGeom(geom)); //save it back in pixel coords
- }
+ }*/
//Now remove the plugin for the moment - run it through the re-creation routine below
delete ITEMS.takeAt(i);
i--;
diff --git a/lumina-desktop/LDesktopPluginSpace.h b/lumina-desktop/LDesktopPluginSpace.h
index 8e4c31c2..316ee2f9 100644
--- a/lumina-desktop/LDesktopPluginSpace.h
+++ b/lumina-desktop/LDesktopPluginSpace.h
@@ -40,11 +40,10 @@ public:
void cleanup();
public slots:
- void UpdateGeom();
+ void UpdateGeom(int oldgrid = -1);
private:
QSettings *plugsettings;
- QSize itemSize;
QStringList plugins, deskitems;
QList<LDPlugin*> ITEMS;
bool TopToBottom;
@@ -56,12 +55,11 @@ private:
return out;
}
- QSize calculateItemSize(int icosize);
- void addDesktopItem(QString filepath); //This will convert it into a valid Plugin ID
+ void addDesktopItem(QString filepath); //This will convert it into a valid Plugin ID automatically
void addDesktopPlugin(QString plugID);
- QPoint findOpenSpot(int gridwidth = 1, int gridheight = 1, int startRow = 0, int startCol = 0);
+ QRect findOpenSpot(int gridwidth = 1, int gridheight = 1, int startRow = 0, int startCol = 0);
QPoint posToGrid(QPoint pos){
//This assumes a point in widget-relative coordinates
@@ -70,11 +68,18 @@ private:
return pos;
}
- QRect geomToGrid(QRect geom){
- return QRect( RoundUp(geom.x()/GRIDSIZE), RoundUp(geom.y()/GRIDSIZE), \
+ QRect geomToGrid(QRect geom, int grid = -1){
+ if(grid<0){
+ //use the current grid size
+ return QRect( RoundUp(geom.x()/GRIDSIZE), RoundUp(geom.y()/GRIDSIZE), \
RoundUp(geom.width()/GRIDSIZE), RoundUp(geom.height()/GRIDSIZE) );
-
+ }else{
+ //use the input grid size
+ return QRect( RoundUp(geom.x()/((double) grid)), RoundUp(geom.y()/((double) grid)), \
+ RoundUp(geom.width()/((double) grid)), RoundUp(geom.height()/((double) grid)) );
+ }
}
+
QRect gridToGeom(QRect grid){
//This function incorporates the bottom/right edge matchins procedures (for incomplete last grid)
QRect geom(grid.x()*GRIDSIZE, grid.y()*GRIDSIZE, grid.width()*GRIDSIZE, grid.height()*GRIDSIZE);
@@ -107,6 +112,14 @@ private:
drag->exec(Qt::CopyAction);
}
+ bool ValidGrid(QRect grid){
+ //This just checks that the grid coordinates are not out of bounds - should still run ValidGeometry() below with the actual pixel geom
+ if(grid.x()<0 || grid.y()<0 || grid.width()<0 || grid.height()<0){ return false; }
+ else if( (grid.x()+grid.width()) > RoundUp(this->width()/GRIDSIZE) ){ return false; }
+ else if( (grid.y()+grid.height()) > RoundUp(this->height()/GRIDSIZE) ){ return false; }
+ return true;
+ }
+
bool ValidGeometry(QString id, QRect geom){
//First check that it is within the desktop area completely
// Note that "this->geometry()" is not in the same coordinate space as the geometry inputs
@@ -174,14 +187,17 @@ protected:
//qDebug() << "Move Event:" << "Old geom (grid):" << geom;
geom.moveTo( (geom.topLeft()+diff) );
//qDebug() << " - After Move:" << geom;
- geom = gridToGeom(geom); //convert back to px coords with edge matching
- //qDebug() << " - new Geometry:" << geom;
- if(ValidGeometry(act.section("::::",1,50), geom)){
- //qDebug() << " - Is valid";
+ bool valid = ValidGrid(geom);
+ if(valid){
+ //Convert to pixel coordinates and check validity again
+ geom = gridToGeom(geom); //convert back to px coords with edge matching
+ valid = ValidGeometry(act.section("::::",1,50), geom);
+ }
+ if(valid){
item->setGeometry(geom);
item->setFixedSize(geom.size()); //needed due to resizing limitations and such for some plugins
ev->acceptProposedAction();
- item->savePluginGeometry(geom); //save in pixel coords
+ item->savePluginGeometry(geom); //save in pixel coords
}else{ ev->ignore(); } //invalid location
}else{
@@ -196,17 +212,18 @@ protected:
if(diff.y()<0){ geom.setTop( ev->pos().y()/GRIDSIZE); } //expanding above (round down)
else if(diff.y()>0){ geom.setBottom( ev->pos().y()/GRIDSIZE); } //expanding below (round down)
//qDebug() << " - Adjusted:" << geom;
- if(geom.width()<1 || geom.height()<1){ ev->ignore(); return; } //cannot have 0 size
- //Now convert back to pixel coords (includes edge matching/adjustments)
- geom = gridToGeom(geom);
- //qDebug() << " - Pixels:" << geom;
- //Check Validity of new geom
- if(ValidGeometry(act.section("::::",1,50), geom)){
+ bool valid = ValidGrid(geom);
+ if(valid){
+ //Convert to pixel coordinates and check validity again
+ geom = gridToGeom(geom); //convert back to px coords with edge matching
+ valid = ValidGeometry(act.section("::::",1,50), geom);
+ }
+ if(valid){
item->setGeometry(geom);
item->setFixedSize(geom.size()); //needed due to resizing limitations and such for some plugins
- ev->acceptProposedAction();
- item->savePluginGeometry(geom); //save in pixel coords
- }else{ ev->ignore(); } //invalid location
+ ev->acceptProposedAction();
+ item->savePluginGeometry(geom); //save in pixel coords
+ }else{ ev->ignore(); } //invalid location
}
}
}else if(ev->mimeData()->hasUrls()){
diff --git a/lumina-desktop/desktop-plugins/LDPlugin.cpp b/lumina-desktop/desktop-plugins/LDPlugin.cpp
index 0fec17c6..b238a207 100644
--- a/lumina-desktop/desktop-plugins/LDPlugin.cpp
+++ b/lumina-desktop/desktop-plugins/LDPlugin.cpp
@@ -42,7 +42,7 @@ void LDPlugin::setupMenu(){
menu->addAction( LXDG::findIcon("edit-delete",""), tr("Remove Item"), this, SLOT(slotRemovePlugin()) );
}
-void LDPlugin::setInitialSize(int width, int height){
+/*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()){
@@ -54,12 +54,4 @@ void LDPlugin::setInitialSize(int width, int height){
}
//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();
}*/ \ No newline at end of file
diff --git a/lumina-desktop/desktop-plugins/LDPlugin.h b/lumina-desktop/desktop-plugins/LDPlugin.h
index d1a9c743..6a3c82a1 100644
--- a/lumina-desktop/desktop-plugins/LDPlugin.h
+++ b/lumina-desktop/desktop-plugins/LDPlugin.h
@@ -47,8 +47,11 @@ public:
return PLUGID;
}
- void setInitialSize(int width, int height);
- //void adjustSize(int width, int height);
+ virtual QSize defaultPluginSize(){
+ //This needs to be re-implemented in the subclassed plugin
+ // The returned QSize is in grid points (typically 100 or 200 pixels square)
+ return QSize(1,1); //1x1 grid size
+ }
void savePluginGeometry(QRect geom){
settings->setValue(prefix+"geometry/desktopGridPoints", geom);
diff --git a/lumina-desktop/desktop-plugins/applauncher/AppLauncherPlugin.cpp b/lumina-desktop/desktop-plugins/applauncher/AppLauncherPlugin.cpp
index c0f868e2..4b3210a5 100644
--- a/lumina-desktop/desktop-plugins/applauncher/AppLauncherPlugin.cpp
+++ b/lumina-desktop/desktop-plugins/applauncher/AppLauncherPlugin.cpp
@@ -15,25 +15,10 @@ AppLauncherPlugin::AppLauncherPlugin(QWidget* parent, QString ID) : LDPlugin(par
button->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
lay->addWidget(button, 0, Qt::AlignCenter);
connect(button, SIGNAL(DoubleClicked()), this, SLOT(buttonClicked()) );
- //menu = new QMenu(this);
- /*int icosize = this->readSetting("iconsize",-1).toInt();
- if(icosize <1){
- icosize = LSession::handle()->sessionSettings()->value("DefaultIconSize",64).toInt();
- this->saveSetting("iconsize",icosize);
- }*/
- //int icosize
- //button->setIconSize(QSize(icosize,icosize));
button->setContextMenuPolicy(Qt::NoContextMenu);
- //connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(openContextMenu()) );
watcher = new QFileSystemWatcher(this);
connect(watcher, SIGNAL(fileChanged(QString)), this, SLOT( loadButton()) );
- //Calculate the initial size of the button
- //qDebug() << "Button Size:" << button->size();
- //qDebug() << "Calculated:" << icosize+4 << icosize+8+qRound(2.15*button->fontMetrics().height());
- //qDebug() << "Preferred Size:" << button->sizeHint();
- //QSize sz(qRound(1.1*icosize), icosize+qRound(2.7*button->fontMetrics().height()) );
- //button->setFixedSize(sz); //make sure to adjust the button on first show.
- this->setInitialSize(120, 100); //give the container a bit of a buffer
+
QTimer::singleShot(200,this, SLOT(loadButton()) );
}
@@ -49,7 +34,7 @@ void AppLauncherPlugin::loadButton(){
QString path = this->readSetting("applicationpath",def).toString(); //use the default if necessary
//qDebug() << "Default Application Launcher:" << def << path;
bool ok = QFile::exists(path);
- int icosize = this->width()/1.8; //This is the same calculation as in the LDesktopPluginSpace
+ int icosize = this->height()-4 - 2.2*button->fontMetrics().height();
button->setFixedSize( this->width()-4, this->height()-4);
button->setIconSize( QSize(icosize,icosize) );
QString txt;
diff --git a/lumina-desktop/desktop-plugins/audioplayer/PlayerWidget.cpp b/lumina-desktop/desktop-plugins/audioplayer/PlayerWidget.cpp
index 459e4610..4d293b39 100644
--- a/lumina-desktop/desktop-plugins/audioplayer/PlayerWidget.cpp
+++ b/lumina-desktop/desktop-plugins/audioplayer/PlayerWidget.cpp
@@ -262,7 +262,6 @@ AudioPlayerPlugin::AudioPlayerPlugin(QWidget *parent, QString ID) : LDPlugin(par
this->layout()->setContentsMargins(0,0,0,0);
this->layout()->addWidget(player);
- this->setInitialSize(this->sizeHint().width(), this->sizeHint().height());
}
AudioPlayerPlugin::~AudioPlayerPlugin(){
diff --git a/lumina-desktop/desktop-plugins/audioplayer/PlayerWidget.h b/lumina-desktop/desktop-plugins/audioplayer/PlayerWidget.h
index eaa068ff..6aaeac4c 100644
--- a/lumina-desktop/desktop-plugins/audioplayer/PlayerWidget.h
+++ b/lumina-desktop/desktop-plugins/audioplayer/PlayerWidget.h
@@ -64,6 +64,11 @@ public:
AudioPlayerPlugin(QWidget* parent, QString ID);
~AudioPlayerPlugin();
+ virtual QSize defaultPluginSize(){
+ // The returned QSize is in grid points (typically 100 or 200 pixels square)
+ return QSize(3,1);
+ }
+
private:
PlayerWidget *player;
diff --git a/lumina-desktop/desktop-plugins/calendar/CalendarPlugin.h b/lumina-desktop/desktop-plugins/calendar/CalendarPlugin.h
index 133a3af6..b3a6a8d7 100644
--- a/lumina-desktop/desktop-plugins/calendar/CalendarPlugin.h
+++ b/lumina-desktop/desktop-plugins/calendar/CalendarPlugin.h
@@ -28,7 +28,6 @@ public:
cal = new QCalendarWidget(this);
cal->setSelectionMode(QCalendarWidget::NoSelection);
this->layout()->addWidget(cal);
- this->setInitialSize( cal->sizeHint().width(), cal->sizeHint().height() );
timer = new QTimer(this);
timer->setInterval(1800000); //30 minute refresh timer
timer->start();
@@ -38,6 +37,11 @@ public:
~CalendarPlugin(){ timer->stop(); }
+ virtual QSize defaultPluginSize(){
+ // The returned QSize is in grid points (typically 100 or 200 pixels square)
+ return QSize(3,2);
+ }
+
private slots:
void updateDate(){
if(cal->selectedDate() != QDate::currentDate()){
diff --git a/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp b/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp
index 0b48a049..d81afd1e 100644
--- a/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp
+++ b/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp
@@ -39,7 +39,6 @@ DesktopViewPlugin::DesktopViewPlugin(QWidget* parent, QString ID) : LDPlugin(par
menu->addAction( LXDG::findIcon("system-search",""), tr("Properties"), this, SLOT(displayProperties()) );
}
this->layout()->addWidget(list);
- this->setInitialSize(300,300);
connect(QApplication::instance(), SIGNAL(DesktopFilesChanged()), this, SLOT(updateContents()) );
connect(list, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(runItems()) );
diff --git a/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h b/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h
index a75372a1..046b6e5c 100644
--- a/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h
+++ b/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h
@@ -23,6 +23,10 @@ public:
DesktopViewPlugin(QWidget* parent, QString ID);
~DesktopViewPlugin();
+ virtual QSize defaultPluginSize(){
+ // The returned QSize is in grid points (typically 100 or 200 pixels square)
+ return QSize(3,3);
+ }
private:
QListWidget *list;
QMenu *menu;
diff --git a/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp b/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp
index f66cb53e..e229774d 100644
--- a/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp
+++ b/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp
@@ -62,9 +62,6 @@ NotePadPlugin::NotePadPlugin(QWidget* parent, QString ID) : LDPlugin(parent, ID)
QTimer::singleShot(2000, this, SLOT(notesDirChanged()));
//qDebug() << "Set Sizing";
- //Now setup the initial values for the plugin
- qDebug() << "New Notepad:" << this->sizeHint() << this->size();
- this->setInitialSize(this->sizeHint().width(),this->sizeHint().height());
//qDebug() << "Connect Signals/slots";
//Setup the button connections
connect(open, SIGNAL(clicked()), this, SLOT(openNote()) );
diff --git a/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.h b/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.h
index a1d9bf8f..5a9ea2be 100644
--- a/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.h
+++ b/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.h
@@ -23,6 +23,10 @@ public:
NotePadPlugin(QWidget* parent, QString ID);
~NotePadPlugin();
+ virtual QSize defaultPluginSize(){
+ // The returned QSize is in grid points (typically 100 or 200 pixels square)
+ return QSize(3,3);
+ }
private:
QPlainTextEdit *edit;
QToolButton *open, *add, *rem;
diff --git a/lumina-desktop/desktop-plugins/quickcontainer/QuickDPlugin.h b/lumina-desktop/desktop-plugins/quickcontainer/QuickDPlugin.h
index 0e6cda2f..4ba74133 100644
--- a/lumina-desktop/desktop-plugins/quickcontainer/QuickDPlugin.h
+++ b/lumina-desktop/desktop-plugins/quickcontainer/QuickDPlugin.h
@@ -27,11 +27,15 @@ public:
this->layout()->addWidget(container);
container->setSource(QUrl::fromLocalFile( LUtils::findQuickPluginFile(ID.section("---",0,0)) ));
QApplication::processEvents(); //to check for errors right away
- this->setInitialSize(container->initialSize().width(), container->initialSize().height());
+ //this->setInitialSize(container->initialSize().width(), container->initialSize().height());
}
~QuickDPlugin(){}
+ virtual QSize defaultPluginSize(){
+ // The returned QSize is in grid points (typically 100 or 200 pixels square)
+ return QSize(2,2);
+ }
private:
QQuickWidget *container;
diff --git a/lumina-desktop/desktop-plugins/systemmonitor/MonitorWidget.cpp b/lumina-desktop/desktop-plugins/systemmonitor/MonitorWidget.cpp
index 6a300b6c..951bcc98 100644
--- a/lumina-desktop/desktop-plugins/systemmonitor/MonitorWidget.cpp
+++ b/lumina-desktop/desktop-plugins/systemmonitor/MonitorWidget.cpp
@@ -55,7 +55,7 @@ SysMonitorPlugin::SysMonitorPlugin(QWidget *parent, QString ID) : LDPlugin(paren
this->layout()->setContentsMargins(0,0,0,0);
this->layout()->addWidget(monitor);
- this->setInitialSize(monitor->sizeHint().width(),monitor->sizeHint().height());
+ //this->setInitialSize(monitor->sizeHint().width(),monitor->sizeHint().height());
}
SysMonitorPlugin::~SysMonitorPlugin(){
diff --git a/lumina-desktop/desktop-plugins/systemmonitor/MonitorWidget.h b/lumina-desktop/desktop-plugins/systemmonitor/MonitorWidget.h
index 08e8c09c..015ba7fe 100644
--- a/lumina-desktop/desktop-plugins/systemmonitor/MonitorWidget.h
+++ b/lumina-desktop/desktop-plugins/systemmonitor/MonitorWidget.h
@@ -42,6 +42,11 @@ public:
SysMonitorPlugin(QWidget* parent, QString ID);
~SysMonitorPlugin();
+ virtual QSize defaultPluginSize(){
+ // The returned QSize is in grid points (typically 100 or 200 pixels square)
+ return QSize(2,3);
+ }
+
private:
MonitorWidget *monitor;
bgstack15