Re: My progress
On Wednesday 14 January 2009, Aaron J. Seigo wrote: > On Wednesday 14 January 2009, Marco Martin wrote: > > On Wednesday 14 January 2009, Aaron J. Seigo wrote: > > > On Wednesday 14 January 2009, Marco Martin wrote: > > > > On Tuesday 13 January 2009, Aaron J. Seigo wrote: > > > > > this would probably mean creating a small Plasma::Message class or > > > > > (even re- using Plasma::ToolTipContent perhaps?) and allow > > > > > plasmoids to queue such messages with the Applet class. the Applet > > > > > class would then display it in a "plasma" way (what does that mean? > > > > > i don't know for sure, but we can work that out together; perhaps > > > > > an overlay on the plasmoid itself if it is big enough, perhaps a > > > > > tooltip type thing, perhaps a notification in the system tray,...?) > > > > > > > > hmm woudn't this mean duplicating knotify in a similar-but-not-quite > > > > way? > > > > > > it's not meant as a replacement for notifications, but rather a widget > > > appropriate replacement for dialog boxes ... > > > > > > good example is folderview when it can't load the folder (doesn't > > > exist, network down, whatever). that functionality should be available > > > to all widgets. > > > > > > the weather widget in kdrevew uses a KMessagBox right now, because it's > > > easy to do, but that causes all sorts of problems: it doesn't look > > > Plasma and it blocks mouse interaction with the rest of the desktop. > > > > > > it'll also give us a nice simple bit of API to give scripters. > > > > could be something like the stuff attached, > > yep, that's probably pretty close =) perhaps showMessage(..) though? yeah. > > not really sure if it should > > have also other buttons like a yes/no/cancel > > we'll eventually get a request for that, i'm sure. there's also the case > where there is no "Ok" option, really. e.g. folderview's "I can't load this > folder!" so displaying the message without possibility of user until the applet explicitly says not to... and to deactivate maybe simply a showMessage(QString(), QString()) to keep api minimal... other things: the available buttons probably the usual combination of KDialog::ButtonCode flags (even if just few of them will be supported..?) > and then there is the situation of widgets in a space (e.g. the panel) that > is too small to show it inline, so it would need to go into some sort of > popup. it's a little more complicated i guess =) yeah, like reparenting the overlay to graphicsWidget() in case of popupapplets, but probably not always, i feel that for configurationRequired applets the overlay maybe is better in the icon? (or not? hmm) yeah, i know that was going to be quite hairy, but i kinda needed a distraction from real life, really :D > > and be syncronous like > > dialog.exec()? > > i don't think it needs to be sync, no... and this is good, because if the applet won't be visible (another containment, covered by other applets, whatever) plasma would be pretty much killed in that case... on the other hand i wonder in that case how it will be possible to notify the applet what buttons were pressed in a clean way... will either need a signal for each button or one with a button parameter, that wouldn't be as simple to use in the code (specially scripted one) as a dialong.exec() but probably better in the end... Cheers, Marco Martin ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: My progress
On Wednesday 14 January 2009, Marco Martin wrote: > On Wednesday 14 January 2009, Aaron J. Seigo wrote: > > On Wednesday 14 January 2009, Marco Martin wrote: > > > On Tuesday 13 January 2009, Aaron J. Seigo wrote: > > > > this would probably mean creating a small Plasma::Message class or > > > > (even re- using Plasma::ToolTipContent perhaps?) and allow plasmoids > > > > to queue such messages with the Applet class. the Applet class would > > > > then display it in a "plasma" way (what does that mean? i don't know > > > > for sure, but we can work that out together; perhaps an overlay on > > > > the plasmoid itself if it is big enough, perhaps a tooltip type > > > > thing, perhaps a notification in the system tray,...?) > > > > > > hmm woudn't this mean duplicating knotify in a similar-but-not-quite > > > way? > > > > it's not meant as a replacement for notifications, but rather a widget > > appropriate replacement for dialog boxes ... > > > > good example is folderview when it can't load the folder (doesn't exist, > > network down, whatever). that functionality should be available to all > > widgets. > > > > the weather widget in kdrevew uses a KMessagBox right now, because it's > > easy to do, but that causes all sorts of problems: it doesn't look Plasma > > and it blocks mouse interaction with the rest of the desktop. > > > > it'll also give us a nice simple bit of API to give scripters. > > could be something like the stuff attached, yep, that's probably pretty close =) perhaps showMessage(..) though? > not really sure if it should > have also other buttons like a yes/no/cancel we'll eventually get a request for that, i'm sure. there's also the case where there is no "Ok" option, really. e.g. folderview's "I can't load this folder!" and then there is the situation of widgets in a space (e.g. the panel) that is too small to show it inline, so it would need to go into some sort of popup. it's a little more complicated i guess =) > and be syncronous like > dialog.exec()? i don't think it needs to be sync, no... -- Aaron J. Seigo humru othro a kohnu se GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43 KDE core developer sponsored by Qt Software signature.asc Description: This is a digitally signed message part. ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: My progress
On Wednesday 14 January 2009, Aaron J. Seigo wrote: > On Wednesday 14 January 2009, Marco Martin wrote: > > On Tuesday 13 January 2009, Aaron J. Seigo wrote: > > > this would probably mean creating a small Plasma::Message class or > > > (even re- using Plasma::ToolTipContent perhaps?) and allow plasmoids to > > > queue such messages with the Applet class. the Applet class would then > > > display it in a "plasma" way (what does that mean? i don't know for > > > sure, but we can work that out together; perhaps an overlay on the > > > plasmoid itself if it is big enough, perhaps a tooltip type thing, > > > perhaps a notification in the system tray,...?) > > > > hmm woudn't this mean duplicating knotify in a similar-but-not-quite way? > > it's not meant as a replacement for notifications, but rather a widget > appropriate replacement for dialog boxes ... > > good example is folderview when it can't load the folder (doesn't exist, > network down, whatever). that functionality should be available to all > widgets. > > the weather widget in kdrevew uses a KMessagBox right now, because it's > easy to do, but that causes all sorts of problems: it doesn't look Plasma > and it blocks mouse interaction with the rest of the desktop. > > it'll also give us a nice simple bit of API to give scripters. could be something like the stuff attached, not really sure if it should have also other buttons like a yes/no/cancel and be syncronous like dialog.exec()? Cheers, Marco Martin Index: applet.h === --- applet.h (revision 910984) +++ applet.h (working copy) @@ -729,6 +729,8 @@ */ void setConfigurationRequired(bool needsConfiguring, const QString &reason = QString()); +void message(const QString &icon, const QString &message); + /** * Reimplement this method so provide a configuration interface, * parented to the supplied widget. Ownership of the widgets is passed Index: applet.cpp === --- applet.cpp (revision 910984) +++ applet.cpp (working copy) @@ -880,6 +880,46 @@ d->messageOverlay->show(); } +void Applet::message(const QString &icon, const QString &message) +{ +d->createMessageOverlay(); +QGraphicsLinearLayout *mainLayout = new QGraphicsLinearLayout(d->messageOverlay); +mainLayout->setOrientation(Qt::Vertical); +mainLayout->setContentsMargins(10, 10, 10, 10); + +QGraphicsLinearLayout *messageLayout = new QGraphicsLinearLayout(); +messageLayout->setOrientation(Qt::Horizontal); + +QGraphicsLinearLayout *buttonLayout = new QGraphicsLinearLayout(); +buttonLayout->setOrientation(Qt::Horizontal); + +mainLayout->addItem(messageLayout); +mainLayout->addItem(buttonLayout); + +IconWidget *messageIcon = new IconWidget(this); +Label *messageText = new Label(this); +messageText->nativeWidget()->setWordWrap(true); + +messageLayout->addItem(messageIcon); +messageLayout->addItem(messageText); + +messageIcon->setIcon(KIcon(icon)); +messageText->setText(message); + + +buttonLayout->addStretch(); +PushButton *ok = new PushButton(this); +ok->setText(i18n("Ok")); +//FIXME: QGL brokeness++ +ok->setMinimumHeight(23); +buttonLayout->addItem(ok); +buttonLayout->addStretch(); + +connect(ok, SIGNAL(clicked()), this, SLOT(destroyMessageOverlay())); +d->messageOverlay->show(); + +} + void Applet::flushPendingConstraintsEvents() { if (d->pendingConstraints == NoConstraint) { @@ -935,7 +975,7 @@ if (c & Plasma::SizeConstraint) { if (d->messageOverlay) { d->messageOverlay->setGeometry(QRectF(QPointF(0, 0), geometry().size())); - +/* QGraphicsItem *button = 0; QList children = d->messageOverlay->QGraphicsItem::children(); @@ -947,7 +987,7 @@ QSizeF s = button->boundingRect().size(); button->setPos(d->messageOverlay->boundingRect().width() / 2 - s.width() / 2, d->messageOverlay->boundingRect().height() / 2 - s.height() / 2); -} +}*/ } if (d->busyWidget && d->busyWidget->isVisible()) { ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: My progress
On Wednesday 14 January 2009, Aaron J. Seigo wrote: > On Wednesday 14 January 2009, Marco Martin wrote: > > On Tuesday 13 January 2009, Aaron J. Seigo wrote: > > > this would probably mean creating a small Plasma::Message class or > > > (even re- using Plasma::ToolTipContent perhaps?) and allow plasmoids to > > > queue such messages with the Applet class. the Applet class would then > > > display it in a "plasma" way (what does that mean? i don't know for > > > sure, but we can work that out together; perhaps an overlay on the > > > plasmoid itself if it is big enough, perhaps a tooltip type thing, > > > perhaps a notification in the system tray,...?) > > > > hmm woudn't this mean duplicating knotify in a similar-but-not-quite way? > > it's not meant as a replacement for notifications, but rather a widget > appropriate replacement for dialog boxes ... > > good example is folderview when it can't load the folder (doesn't exist, > network down, whatever). that functionality should be available to all > widgets. > > the weather widget in kdrevew uses a KMessagBox right now, because it's > easy to do, but that causes all sorts of problems: it doesn't look Plasma > and it blocks mouse interaction with the rest of the desktop. > > it'll also give us a nice simple bit of API to give scripters. for that i would use something similar to setConfiguratioRequired() in Applet is actually quite generalized already, i think i'll throw a patch on that in a moment :) would it have to be just a message or allow generic graphicswidgets throwing in it? (i would keep really simple) so just message, icon and buttons like a real dialog? Cheers, Marco Martin ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: My progress
On Wednesday 14 January 2009, Marco Martin wrote: > On Tuesday 13 January 2009, Aaron J. Seigo wrote: > > this would probably mean creating a small Plasma::Message class or (even > > re- using Plasma::ToolTipContent perhaps?) and allow plasmoids to queue > > such messages with the Applet class. the Applet class would then display > > it in a "plasma" way (what does that mean? i don't know for sure, but we > > can work that out together; perhaps an overlay on the plasmoid itself if > > it is big enough, perhaps a tooltip type thing, perhaps a notification in > > the system tray,...?) > > hmm woudn't this mean duplicating knotify in a similar-but-not-quite way? it's not meant as a replacement for notifications, but rather a widget appropriate replacement for dialog boxes ... good example is folderview when it can't load the folder (doesn't exist, network down, whatever). that functionality should be available to all widgets. the weather widget in kdrevew uses a KMessagBox right now, because it's easy to do, but that causes all sorts of problems: it doesn't look Plasma and it blocks mouse interaction with the rest of the desktop. it'll also give us a nice simple bit of API to give scripters. -- Aaron J. Seigo humru othro a kohnu se GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43 KDE core developer sponsored by Qt Software signature.asc Description: This is a digitally signed message part. ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: My progress
On Tuesday 13 January 2009, Aaron J. Seigo wrote: > On Tuesday 13 January 2009, Henk te Sligte wrote: > > I thought it might be a good idea to develop an applet (and engine) > > for a random purpose, just to get familiar with Plasma, I'm thinking > > about an applet which displays the status from a sabnzbd server > > (http://www.sabnzbd.org). The API of sabnzbd is quite good, so I can > > concentrate at learning Plasma. > > neat, i didn't even know about sabnzbd (and... how the HECK do you > pronounce that?) > > > After that, I'm not really sure what to do next. I have seen some > > tasklists (e.g. http://techbase.kde.org/Projects/Plasma/Tasks), maybe > > it's a good idea to pick one of those and see how far I get. But I'm > > not really sure about all of this. > > i really need to update that page again. people keep racing ahead so > quickly that the page needs constant tending. i'm a poor gardener, i'm > afraid. anyways, i'm happy to point you in the direction of "stuff that > needs attention". > > something that would be relatively simple but let you play with the "guts" > of plasma a bit is adding a standardized way for plasmoids to show a > message to the user. > > this would probably mean creating a small Plasma::Message class or (even > re- using Plasma::ToolTipContent perhaps?) and allow plasmoids to queue > such messages with the Applet class. the Applet class would then display it > in a "plasma" way (what does that mean? i don't know for sure, but we can > work that out together; perhaps an overlay on the plasmoid itself if it is > big enough, perhaps a tooltip type thing, perhaps a notification in the > system tray,...?) hmm woudn't this mean duplicating knotify in a similar-but-not-quite way? > i have a whole list of such things just waiting to be plucked and fixed ;) > others on this mailing list also have their own pet lists too... > > and there's also bugs.kde.org which has oodles of feature requests. > > > I have a couple of questions: Is the process which I have in mind a > > good idea? > > i'd say it's a perfect path. > > > Am I too optimistic, because Plasma is too hard > > nah, there's something in there for all skill levels. it was built to be > easy to start hacking on. > > > (as far as > > I've seen, it's quite readable, and it just makes sense). > > thanks =) > > > I know there > > are some mentors for KDE, is there also a mentor for Plasma, or can I > > do the learning process on my own? > > you can do the learning process on your own, but you are *more* than > welcome to ask questions here on the mailing list or in #plasma-devel. the > only stupid question is the unasked question. > > > Feel free to comment on anything I wrote, I sent this mail basically > > on two purposes: To get to know you guys a bit better, and, to be > > honest, I'd like to be a bit in the picture. Maybe someone has a small > > bug which should be easy to fix, and good to learn. > > heh. those ones tend to get fixed fast. we eat bugs for breakfast around > here. > > here's a really trivial one, though: > > https://bugs.kde.org/show_bug.cgi?id=179563 > > most of the others after that one on the plasma bug list probably aren't > great starter jobs. > > welcome to Plasma ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: My progress
2009/1/13 Aaron J. Seigo : > On Tuesday 13 January 2009, Henk te Sligte wrote: >> I thought it might be a good idea to develop an applet (and engine) >> for a random purpose, just to get familiar with Plasma, I'm thinking >> about an applet which displays the status from a sabnzbd server >> (http://www.sabnzbd.org). The API of sabnzbd is quite good, so I can >> concentrate at learning Plasma. > > neat, i didn't even know about sabnzbd (and... how the HECK do you pronounce > that?) It's a great project to download nzb's, and, instead of the other common usenet leechers, it's cross-platform. But yes, the name is quite hard to pronounce (I simply say it as I read it (in dutch)). > >> After that, I'm not really sure what to do next. I have seen some >> tasklists (e.g. http://techbase.kde.org/Projects/Plasma/Tasks), maybe >> it's a good idea to pick one of those and see how far I get. But I'm >> not really sure about all of this. > > i really need to update that page again. people keep racing ahead so quickly > that the page needs constant tending. i'm a poor gardener, i'm afraid. > anyways, i'm happy to point you in the direction of "stuff that needs > attention". Well, I wasn't planning on starting to hack away with that page as a reference ;-) As soon as I get closer to the center of Plasma, I would simply ask for things to do. > > something that would be relatively simple but let you play with the "guts" of > plasma a bit is adding a standardized way for plasmoids to show a message to > the user. > > this would probably mean creating a small Plasma::Message class or (even re- > using Plasma::ToolTipContent perhaps?) and allow plasmoids to queue such > messages with the Applet class. the Applet class would then display it in a > "plasma" way (what does that mean? i don't know for sure, but we can work that > out together; perhaps an overlay on the plasmoid itself if it is big enough, > perhaps a tooltip type thing, perhaps a notification in the system tray,...?) Sounds nice to me :) I'll bug you on irc as soon as I feel I can do something like that. > > i have a whole list of such things just waiting to be plucked and fixed ;) > others on this mailing list also have their own pet lists too... Well, that's exactly why I sent the mail. I knew there should be small jobs, but it's quite hard to find such things for a newcomer :) > > and there's also bugs.kde.org which has oodles of feature requests. > >> I have a couple of questions: Is the process which I have in mind a >> good idea? > > i'd say it's a perfect path. > >> Am I too optimistic, because Plasma is too hard > > nah, there's something in there for all skill levels. it was built to be easy > to start hacking on. > >> (as far as >> I've seen, it's quite readable, and it just makes sense). > > thanks =) > >> I know there >> are some mentors for KDE, is there also a mentor for Plasma, or can I >> do the learning process on my own? > > you can do the learning process on your own, but you are *more* than welcome > to ask questions here on the mailing list or in #plasma-devel. the only stupid > question is the unasked question. > >> Feel free to comment on anything I wrote, I sent this mail basically >> on two purposes: To get to know you guys a bit better, and, to be >> honest, I'd like to be a bit in the picture. Maybe someone has a small >> bug which should be easy to fix, and good to learn. > > heh. those ones tend to get fixed fast. we eat bugs for breakfast around here. Well, I'm quite satisfied with my pancakes as breakfast, but well, everyone has his own taste :-P > > here's a really trivial one, though: > > https://bugs.kde.org/show_bug.cgi?id=179563 I looked to it, and it seems quite easy to fix, I already found the file which contains the strings. I don't have a svn-account yet, but I'll try to find someone on IRC who can help me out. Thanks for the friendly mail btw :) I feel like I'm getting a littlebit closer in the team already :) > > most of the others after that one on the plasma bug list probably aren't great > starter jobs. > > welcome to Plasma > > -- > Aaron J. Seigo > humru othro a kohnu se > GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43 > > KDE core developer sponsored by Qt Software > > > ___ > Plasma-devel mailing list > Plasma-devel@kde.org > https://mail.kde.org/mailman/listinfo/plasma-devel > > ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: My progress
On Tuesday 13 January 2009, Henk te Sligte wrote: > I thought it might be a good idea to develop an applet (and engine) > for a random purpose, just to get familiar with Plasma, I'm thinking > about an applet which displays the status from a sabnzbd server > (http://www.sabnzbd.org). The API of sabnzbd is quite good, so I can > concentrate at learning Plasma. neat, i didn't even know about sabnzbd (and... how the HECK do you pronounce that?) > After that, I'm not really sure what to do next. I have seen some > tasklists (e.g. http://techbase.kde.org/Projects/Plasma/Tasks), maybe > it's a good idea to pick one of those and see how far I get. But I'm > not really sure about all of this. i really need to update that page again. people keep racing ahead so quickly that the page needs constant tending. i'm a poor gardener, i'm afraid. anyways, i'm happy to point you in the direction of "stuff that needs attention". something that would be relatively simple but let you play with the "guts" of plasma a bit is adding a standardized way for plasmoids to show a message to the user. this would probably mean creating a small Plasma::Message class or (even re- using Plasma::ToolTipContent perhaps?) and allow plasmoids to queue such messages with the Applet class. the Applet class would then display it in a "plasma" way (what does that mean? i don't know for sure, but we can work that out together; perhaps an overlay on the plasmoid itself if it is big enough, perhaps a tooltip type thing, perhaps a notification in the system tray,...?) i have a whole list of such things just waiting to be plucked and fixed ;) others on this mailing list also have their own pet lists too... and there's also bugs.kde.org which has oodles of feature requests. > I have a couple of questions: Is the process which I have in mind a > good idea? i'd say it's a perfect path. > Am I too optimistic, because Plasma is too hard nah, there's something in there for all skill levels. it was built to be easy to start hacking on. > (as far as > I've seen, it's quite readable, and it just makes sense). thanks =) > I know there > are some mentors for KDE, is there also a mentor for Plasma, or can I > do the learning process on my own? you can do the learning process on your own, but you are *more* than welcome to ask questions here on the mailing list or in #plasma-devel. the only stupid question is the unasked question. > Feel free to comment on anything I wrote, I sent this mail basically > on two purposes: To get to know you guys a bit better, and, to be > honest, I'd like to be a bit in the picture. Maybe someone has a small > bug which should be easy to fix, and good to learn. heh. those ones tend to get fixed fast. we eat bugs for breakfast around here. here's a really trivial one, though: https://bugs.kde.org/show_bug.cgi?id=179563 most of the others after that one on the plasma bug list probably aren't great starter jobs. welcome to Plasma -- Aaron J. Seigo humru othro a kohnu se GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43 KDE core developer sponsored by Qt Software signature.asc Description: This is a digitally signed message part. ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: My progress
Hi, Il Tuesday 13 January 2009 20:54:25 Henk te Sligte ha scritto: > After that, I'm not really sure what to do next. I have seen some > tasklists (e.g. http://techbase.kde.org/Projects/Plasma/Tasks), maybe > it's a good idea to pick one of those and see how far I get. But I'm > not really sure about all of this. That page seems outdated... :/ > I have a couple of questions: Is the process which I have in mind a > good idea? Am I too optimistic, because Plasma is too hard (as far as > I've seen, it's quite readable, and it just makes sense). Plasma is designed to be simple & powerful. :) > I know there > are some mentors for KDE, is there also a mentor for Plasma, or can I > do the learning process on my own? I'm not an "official mentor" but I can help you if you want :) #plasma is always a good place to start... Bye, Davide Bettio. ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
My progress
Hi :) You might not know me, I definitely don't know most of you, but I've been watching the plasma-process from time to time. And to be honest: I really want to join you guys. However, my KDE programming knowledge is not that big. I am quite experienced in C++, and familiar with QT, although there is always someone better, and especially in the KDE-family. I do want to join, as far as I know there is no job-interview before joining, but to really help out, I have to be familiar with the plasma-background. I have developed an applet once, a couple of months ago, but as far as I know, that's almost everything. I thought it might be a good idea to develop an applet (and engine) for a random purpose, just to get familiar with Plasma, I'm thinking about an applet which displays the status from a sabnzbd server (http://www.sabnzbd.org). The API of sabnzbd is quite good, so I can concentrate at learning Plasma. After that, I'm not really sure what to do next. I have seen some tasklists (e.g. http://techbase.kde.org/Projects/Plasma/Tasks), maybe it's a good idea to pick one of those and see how far I get. But I'm not really sure about all of this. I have a couple of questions: Is the process which I have in mind a good idea? Am I too optimistic, because Plasma is too hard (as far as I've seen, it's quite readable, and it just makes sense). I know there are some mentors for KDE, is there also a mentor for Plasma, or can I do the learning process on my own? Feel free to comment on anything I wrote, I sent this mail basically on two purposes: To get to know you guys a bit better, and, to be honest, I'd like to be a bit in the picture. Maybe someone has a small bug which should be easy to fix, and good to learn. I really look forward to see some response :) Henk te Sligte ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel