aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop
diff options
context:
space:
mode:
authorKen Moore <moorekou@gmail.com>2015-11-23 13:26:49 -0500
committerKen Moore <moorekou@gmail.com>2015-11-23 13:26:49 -0500
commit42b9bf131bc17f9fb0e7e9ead0c6f992eee11a2b (patch)
treee2932a8b22a5353e698d50823e8e842ff5e2fed3 /lumina-desktop
parentFix up the window minimization routines and the window margins for the embedd... (diff)
downloadlumina-42b9bf131bc17f9fb0e7e9ead0c6f992eee11a2b.tar.gz
lumina-42b9bf131bc17f9fb0e7e9ead0c6f992eee11a2b.tar.bz2
lumina-42b9bf131bc17f9fb0e7e9ead0c6f992eee11a2b.zip
A few fixes for the desktop:
1) Clean up the characters which are unsupported by the notepad for filenames (quotes of all kinds, semicolons, slashes) 2) Start Menu: allow clicks on the item text to trigger the launch, add the generic "comment" text underneath the name of the application (if available) in italics and indented. 3) Remove an extra processEvents call during session startup.
Diffstat (limited to 'lumina-desktop')
-rw-r--r--lumina-desktop/LSession.cpp2
-rw-r--r--lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp18
-rw-r--r--lumina-desktop/desktop-plugins/notepad/NotepadPlugin.h5
-rw-r--r--lumina-desktop/panel-plugins/systemstart/ItemWidget.cpp16
4 files changed, 32 insertions, 9 deletions
diff --git a/lumina-desktop/LSession.cpp b/lumina-desktop/LSession.cpp
index 9fd30b7d..aa3fa923 100644
--- a/lumina-desktop/LSession.cpp
+++ b/lumina-desktop/LSession.cpp
@@ -164,7 +164,7 @@ void LSession::setupSession(){
QApplication::processEvents();
launchStartupApps();
//QTimer::singleShot(500, this, SLOT(launchStartupApps()) );
- QApplication::processEvents();
+ //QApplication::processEvents();
splash.close();
}
diff --git a/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp b/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp
index e229774d..bfb985d1 100644
--- a/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp
+++ b/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.cpp
@@ -6,6 +6,7 @@
#include <QDir>
#include <QFileDialog>
#include <QInputDialog>
+#include <QtConcurrent>
NotePadPlugin::NotePadPlugin(QWidget* parent, QString ID) : LDPlugin(parent, ID){
//qDebug() << "Creating Notepad Plugin:";
@@ -64,8 +65,8 @@ NotePadPlugin::NotePadPlugin(QWidget* parent, QString ID) : LDPlugin(parent, ID)
//qDebug() << "Connect Signals/slots";
//Setup the button connections
- connect(open, SIGNAL(clicked()), this, SLOT(openNote()) );
- connect(add, SIGNAL(clicked()), this, SLOT(newNote()) );
+ connect(open, SIGNAL(clicked()), this, SLOT(openNoteClicked()) );
+ connect(add, SIGNAL(clicked()), this, SLOT(newNoteClicked()) );
connect(rem, SIGNAL(clicked()), this, SLOT(remNote()) );
connect(edit, SIGNAL(textChanged()), this, SLOT(newTextAvailable()) );
connect(cnote, SIGNAL(currentIndexChanged(QString)), this, SLOT(noteChanged()) );
@@ -134,9 +135,12 @@ void NotePadPlugin::newNote(){
dlg.move( center.x()-(dlg.width()/2), center.y()-(dlg.height()/2) );
dlg.show();
while( dlg.isVisible() ){
+ //this->thread()->usleep(300000); //300 ms between updates
QApplication::processEvents();
}
QString name = dlg.textValue();
+ //make sure to remove any "bad" characters from the name
+ name.remove("\""); name.remove(";"); name.remove("\'"); name.replace("/","_");
if(name.isEmpty() || dlg.result()!=QDialog::Accepted){ return; } //cancelled
QString fullpath = QDir::homePath()+"/Notes/"+name;
if(!fullpath.endsWith(".note")){ fullpath.append(".note"); }
@@ -156,6 +160,16 @@ void NotePadPlugin::newNote(){
}
}
+void NotePadPlugin::openNoteClicked(){
+ //QtConcurrent::run(this, &NotePadPlugin::openNote);
+ openNote();
+}
+
+void NotePadPlugin::newNoteClicked(){
+ //QtConcurrent::run(this, &NotePadPlugin::newNote);
+ newNote();
+}
+
void NotePadPlugin::remNote(){
QString note = cnote->currentData().toString();
if(note.isEmpty()){ return; }
diff --git a/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.h b/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.h
index 5a9ea2be..84935a11 100644
--- a/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.h
+++ b/lumina-desktop/desktop-plugins/notepad/NotepadPlugin.h
@@ -36,9 +36,12 @@ private:
bool updating;
QTimer *typeTimer;
-private slots:
void openNote();
void newNote();
+
+private slots:
+ void openNoteClicked();
+ void newNoteClicked();
void remNote();
void newTextAvailable();
void updateContents();
diff --git a/lumina-desktop/panel-plugins/systemstart/ItemWidget.cpp b/lumina-desktop/panel-plugins/systemstart/ItemWidget.cpp
index 8754e534..8c0fae09 100644
--- a/lumina-desktop/panel-plugins/systemstart/ItemWidget.cpp
+++ b/lumina-desktop/panel-plugins/systemstart/ItemWidget.cpp
@@ -21,8 +21,9 @@ ItemWidget::ItemWidget(QWidget *parent, QString itemPath, QString type, bool gob
if(ok && LXDG::checkValidity(item) ){
icon->setPixmap( LXDG::findIcon(item.icon, "preferences-system-windows-actions").pixmap(32,32) );
iconPath = item.icon;
- name->setText( item.name);
text = item.name;
+ if(!item.comment.isEmpty()){ text.append("<br><i> -- "+item.comment+"</i>"); }
+ name->setText(text);
setupActions(item);
}else{
gooditem = false;
@@ -102,9 +103,10 @@ ItemWidget::ItemWidget(QWidget *parent, XDGDesktop item) : QFrame(parent){
}
//Now fill it appropriately
icon->setPixmap( LXDG::findIcon(item.icon,"preferences-system-windows-actions").pixmap(64,64) );
- name->setText( item.name);
- text = item.name;
- this->setWhatsThis(name->text());
+ text = item.name;
+ if(!item.comment.isEmpty()){ text.append("<br><i> -- "+item.comment+"</i>"); }
+ name->setText(text);
+ this->setWhatsThis(item.name);
icon->setWhatsThis(item.filePath);
iconPath = item.icon;
//Now setup the buttons appropriately
@@ -132,6 +134,8 @@ void ItemWidget::createWidget(){
icon = new QLabel(this);
name = new QLabel(this);
name->setWordWrap(true);
+ name->setTextFormat(Qt::RichText);
+ name->setTextInteractionFlags(Qt::NoTextInteraction);
//Add them to the layout
this->setLayout(new QHBoxLayout());
this->layout()->setContentsMargins(1,1,1,1);
@@ -186,7 +190,9 @@ void ItemWidget::updateItems(){
int H = 2.3*name->fontMetrics().height(); //make sure the height is large enough for two lines
icon->setFixedSize(QSize(H-4, H-4));
actButton->setFixedSize( QSize( (H-4)/2, H-4) );
- name->setText( name->fontMetrics().elidedText(text, Qt::ElideRight, name->width()) );
+ QStringList newname = text.split("<br>");
+ for(int i=0; i<newname.length(); i++){ newname[i] = name->fontMetrics().elidedText(newname[i], Qt::ElideRight, name->width()); }
+ name->setText( newname.join("<br>") );
//Now reload the icon if necessary
if(icon->pixmap()->size().height() < (H-4) ){
if(iconPath.isEmpty()){
bgstack15