[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/kolourpaint/control
From: Clarence Dang <dang () kde ! org>
Date: 2007-10-22 9:51:07
Message-ID: 1193046667.814032.12015.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 728072 by dang:
More sugar. My email is pretty much emptied.
M +263 -32 TODO
--- branches/kolourpaint/control/TODO #728071:728072
@@ -29,6 +29,9 @@
"HI" if they _really_ should be done ASAP by the.g. "HITODO: This is likely
to crash".
+ Sometimes "SYNC" should be "sync" and vice-versa. So before every release,
+ you'll have to check "sync" too :(
+
4. See http://bugs.kde.org/.
5. See below:
@@ -38,8 +41,10 @@
4.3. KDE
4.4. KolourPaint Code (KDE4 specific)
4.5. KolourPaint Code
-4.6. Minor KolourPaint Code Ideas
-4.7. KolourPaint Code Refactoring (KDE4 specific)
+4.6. Image Library Rewrite
+4.7. Minor KolourPaint Code Ideas
+4.8. KolourPaint Code Refactoring/Auditing (KDE4 specific)
+4.9. KolourPaint Code Refactoring/Auditing
4.1. Docs
@@ -52,7 +57,12 @@
with brush_shapes, eraser_shapes, spraycan_patterns and
selections_opaque_transparent. [Thurston]
+[Bug 125116] please add ability to "open in the same window" config GUI to \
KolourPaint +document this in the manual under "Hidden Configuration Options"
+Remove KolourPaint compilation instructions as they are wrong for both KDE3 and KE4.
+
+
4.2. Future Binary Releases
~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -74,7 +84,55 @@
unix2dos text files in all non-KDE releases to not give bad MS notepad impression
+* KDE4 possiblity:
+~~~~
+KDE4 Patch to allow testing/execution of uninstalled kparts/XMLGUI applications
+From: Adam Treat <treat@kde.org>
+To: kde-core-devel@kde.org
+CC: kdevelop-devel@kdevelop.org
+Date: Mon, 8 Aug 2005 12:15:54 -0400
+
+Hello,
+
+I have a simple patch to KStandardDirs that will allow developers to test and
+run KParts/XMLGUI applications without having to install them first.
+
+What I've done is to simply look for a '.krcdirs' file in the same directory
+where the application is currently being executed. This file is a simple INI
+file like so:
+
+[KStandardDirs]
+module = .libs
+[...]
+~~~~
+
+* "KDEHOME" for the "root" user should be "KDEROOTHOME"?
+
+* gettext bug:
+
+~~~~
+Re: i18n bug?
+From: David Faure <faure@kde.org>
+To: kde-core-devel@kde.org
+Subject: 6 Jul 2005 16:12:36 +0200
+
+[...]
+it's a bug in msgfmt.
+msgfmt (GNU gettext-tools) 0.14.1 produces a wrong .mo file
+msgfmt (GNU gettext) 0.10.35 (from gettext-kde on ftp.kde.org)
+produces a working .mo file
+
+More precisely, msgfmt-0.14.x produces a wrong hashtable (1,0,2,0,3,4,5)
+whereas the code, and the working version of msgfmt, work with a
+hashtable saying (1,0,5,3,4,0,2).
+
+BTW a workaround is "msgfmt --no-hash test3.po"
+[...]
+~~~~
+
+
+
4.3. KDE
~~~~~~~~
@@ -92,10 +150,24 @@
tested again esp. the file saving path - format conversion, maximal
content preservation, formatting loss warnings etc.
+* InputMethod hints for Qt4:
+~~~~
+Re: Qt / KDE and Skim / Xim
+From: Simon Hausmann <hausmann@kde.org>
+To: kde-core-devel@kde.org
+Date: Mon, 28 May 2007 15:59:25 +0200
+~~~~
+
+
4.5. KolourPaint Code
~~~~~~~~~~~~~~~~~~~~~
+RTL/Arabic text support
+Also, http://bugs.kde.org/show_bug.cgi?id=137632 might be relevant -- and you
+can get some Arabic text from there too :)
+
+
- when typing text, cursor moves ahead and the bits of the text where the cursor was
overlapping are updated, but the rest of the typed text is not displayed yet
- probably has something to do with delayed updates
@@ -106,7 +178,8 @@
- "View / Actual Size" != actual/printed size -- rename it to "View / 100%"?
but "View / 100%" looks weird, "View / Unzoomed (100%)" looks weird and
- confused with "Zoomed Thumbnail Mode".
+ confused with "Zoomed Thumbnail Mode". "View / Actual Pixels" or "View / 1:1"?
+ Use CTRL+0 shortcut?
In light of crash Bug 117866, check that all timers are killed before e.g. adding
@@ -134,6 +207,9 @@
fix flicker when zooming in/out (Bug #1)
- maybe don't allow QScrollview to do own logic - would also eliminate
tearing when scrolling with wheel (and of course, drag scrolling)
+ - Use QAbstractScrollArea with custom viewport widget and paint directly
+ on that widget (like GwenView in KDE3 and possibly, KDE4), not
+ QScrollArea, to avoid tearing
@@ -218,9 +294,6 @@
-tests/kolourcircles.cpp; rendering glitches at 37% with rect sel tool
-
-
kptoolpreviewdialog: incorrect preview for a selection, if new pixels result in
different selection transparency
@@ -254,7 +327,7 @@
2. what name will it have? 0045_temp-user.png?
3. why wouldn't you want a copy of an image you send to someone? Yes, it's in your \
"Sent Items" but... Suggestion: Export instead of save. But what if really want to \
save? Would have to prompt, save, then invoke Mail again - a bit \
round about.
-What do other programs do? KOffice?
+What do other programs do? KOffice -- See KDE Bug #100002
Need to change grid to a non-solid color pattern so that at 400%, it doesn't
look like part of the image!
@@ -302,6 +375,8 @@
* kpsqueezedtextlabel could use (or be replaced by) KStringHandler::rPixelSqueeze()
+
+
a better set of cursors that don't obscure the pixel you're drawing at
(e.g. compare the excellent Brush cursor to the Line Tool's cursor)
@@ -316,7 +391,9 @@
"1x1" option; isn't that practically equivalent?
"
+Also see KDE Bug #116783
+
Bela-Andreas Bargel:
- add a "info-button" (or menu-entry) which
shows all (meta-)data about the image (eg. to set its
@@ -445,6 +522,16 @@
- what undo/redo should do in middle of polyline?
- what about being unable to redo since did another op?
+
+tests/kolourcircles.cpp; rendering glitches at 37% with rect sel tool
+
+[http://www.softpedia.com/reviews/linux/KIconEdit-Review-32338.shtml]:
+"I'm very satisfied with the rendering quality in the thumbnail. In a way it's
+better than what you have in KolourPaint and here, what you see is what you
+get."
+
+
+
- maybe borders (e.g. selection borders) should always have a view width of 1
- try currently editing a B&W icon to see what I mean (selection borders
have a document width of 1 so the borders are magnified with zoom)
@@ -510,9 +597,25 @@
config dialogs (look into new kconfig generator)
+- recent files history length
+- undo limit
+- grid tiling
+- saving transparency background
+ (for formats like BMP which don't suport transparency)
+- Un-DoNotAskAgain
- visual transparency background
checkerboard + grid doesn't mix at certain zoom levels
+[http://www.softpedia.com/reviews/linux/KIconEdit-Review-32338.shtml]:
+"At last, I want to say that there are actually some things that I like, and
+if those were implemented in KolourPaint, it could easily take over
+KIconEdit. I'm talking about the configuration options, especially options
+regarding the checkerboard. In KolourPaint it doesn't overlap well with the
+grid, but here it does it perfectly. In KIconEdit you can also select custom
+[checkerboard] colors, even the size of its squares, and this is excellent
+when working at the pixel level."
+
+
bug: draw rectangle, drag out selection, undo - kills rect but not selection
is this a feature?
@@ -520,23 +623,12 @@
-better graphics backend
-- screen depth independent (Bug 85280)
- + 8-bit palette images (Antonio Bianco)
-- supports alpha (Hogne Titlestad, Luke-Jr:Bug94607)
-- option for antialiasing tools (Stefan Taferner, Mikhail Capone, Antonio Bianco)
-- Use QImage as new backend?
- - BAD: can't draw paletted images
- - premultiplied format
- - does using it lose quality? don't think so since 16-bit values
- - when set alpha to 0, RGB dies? is this so important?
-
in the "more effects" windows add "saturation" [done], "highlights" and "shadows"
(Antonio Bianco)
-- find out common requests that require other programs e.g. dropshadow:
- http://people.kde.nl/marco.html
+- find out common requests that require other programs e.g. dropshadow
+ (e.g. like in Adobe ImageReady on MacOS X): http://people.kde.nl/marco.html
in the "image" menu add a "fade latest effect" voice, that if selected
brings up a slider that fades the image before with the image after the
@@ -590,16 +682,69 @@
config flaws:
- interprocess config propagation (grep for PROPAGATE) - surely this can be
- done easily without KUniqueApplication or DCOP?
+ done easily without KUniqueApplication or DBUS?
-config dialogs (look into new kconfig generator)
-- recent files history length
-- undo limit
-- grid tiling
-- saving transparency background
- (for formats like BMP which don't suport transparency)
-- Un-DoNotAskAgain
+To do it using DBUS:
+~~~~
+Re: How to update kdelibs variables globally
+From: David Faure <faure@kde.org> (KDE)
+To: kde-core-devel@kde.org
+Date: 2007-04-29 3:44 am
+
+On Saturday 28 April 2007, David Jarvie wrote:
+> I'm implementing the time zones KDEDModule, and it needs to update a couple of
+> variables in KSystemTimeZones at initialisation and whenever it detects a
+> change. This update needs to be available to all applications which are using
+> KSystemTimeZones. What is the best way of doing this? I'm not familiar enough
+> with how shared libraries work - is it possible to share a variable between
+> applications, or is there always a separate copy of each static variable
+> (class static or global static) for each individual application?
+You want inter-process communication here, so you need DBUS.
+(real shared memory is very complex to setup and not so portable, and overkill
+for one variable).
+
+It's quite standard to synchronize all instances of a given class among all \
processes +using DBUS, a number of konqueror and kdepim classes do it.
+For instance, from kdepim/libkpimidentity/identitymanager.cpp :
+
+IdentityManager::IdentityManager([...]) : [...]
+{
+ new IdentityManagerAdaptor( this );
+ QDBusConnection dbus = QDBusConnection::sessionBus();
+ const QString dbusPath = newDBusObjectName(); // because there can be more than \
one instance per process. Otherwise just hardcode a name here. + const QString \
dbusInterface = "org.kde.pim.IdentityManager"; + dbus.registerObject( dbusPath, this \
); + dbus.connect( QString(), dbusPath, dbusInterface, "identitiesChanged", this, \
SLOT(slotIdentitiesChanged(QString)) ); + [...]
+}
+
+void IdentityManager::someSlot()
+{
+ // save new config to file
+ // (but you could just emit the variable value in the signal, too)
+
+ // DBus signal for other IdentityManager instances
+ emit identitiesChanged( QDBusConnection::sessionBus().baseService() );
+}
+
+void KPIM::IdentityManager::slotIdentitiesChanged( const QString &id )
+{
+ kDebug()<<" KPIM::IdentityManager::slotIdentitiesChanged :"<<id<<endl;
+ if ( id != QDBusConnection::sessionBus().baseService() ) {
+ mConfig->reparseConfiguration();
+ readConfig( mConfig );
+ // or just setting a variable instead
+ [...]
+ }
+}
+
+Hmm in your case it's even simpler, the emitter (the kded module) isn't the receiver \
(the kdelibs class) +so there's no need to ship the baseService at all; just let the \
kded module emit a dbus signal and let +the kdelibs class connect to it.
+~~~~
+
+
tool/ruler (can even measure length & angle of diagonal lines)
Bela-Andreas Bargel:
@@ -624,8 +769,42 @@
- GIMP style rulers
+4.6. Image Library Rewrite
+~~~~~~~~~~~~~~~~~~~~~~~~~~
-4.6. Minor KolourPaint Code Ideas
+better image library
+- screen depth independent (Bug 85280)
+ + 8-bit palette images (Antonio Bianco)
+- supports alpha (Hogne Titlestad, Luke-Jr:Bug94607)
+- option for antialiasing tools (Stefan Taferner, Mikhail Capone, Antonio Bianco)
+- Use QImage as new backend?
+ - BAD: can't draw paletted images
+ - premultiplied format
+ - does using it lose quality? don't think so since 16-bit values
+ - when set alpha to 0, RGB dies? is this so important?
+- See Bug 127995, 126751 and others
+
+X discussion at http://keithp.com/~keithp/talks/xarch_ols2004/xarch-ols2004-html/
+
+GraphicsMagick [http://www.graphicsmagick.org/] = ImageMagick with a stable API?
+
+arthur
+cairo
+kcanvas
+libart
+http://www.xaraxtreme.org/ - Claimed to be very fast
+OpenGL is probably the most promising
+GLSL -- see:
+
+~~~~
+Image manipulation using glsl
+From: Michael Thaler <michael.thaler@physik.tu-muenchen.de> (LUG-TS)
+To: <kimageshop@kde.org>
+Date: Sun, 21 Jan 2007 16:00:26 +0100
+~~~~
+
+
+4.7. Minor KolourPaint Code Ideas
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KolourPaint at >= 1.0 should be very usable. So the following are just nice
@@ -658,6 +837,9 @@
so I'll just leave 30deg & 60deg lines as hidden functionality for now
(until I can think up a better key combo/way to activate it)
+While dragging out a rectangle, ALT adjusts top-left point
+
+
Colour Eraser as part of the Image Menu? You can dbl-click on the tool after all.
On open, dither (instead of the current "threshold" approach) alpha channel to mask?
@@ -756,9 +938,12 @@
(Bela-Andreas Bargel)
-4.7. KolourPaint Code Refactoring (KDE4 specific)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+4.8. KolourPaint Code Refactoring/Auditing (KDE4 specific)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+0. Bug #100010 lists a lot of dirty design. Some of this was fixed in KDE4 though.
+
+
1. Move all code that accesses kpImage internals (e.g. is aware of masks, alpha
channel or image depth; or uses the kpPixmapFX::draw() method) and/or renders
document pixels onto the view, to inside imagelib/.
@@ -798,4 +983,50 @@
* Remove use of qt3support and kde3support with the help of
- branches/kolourpaint/control/scripts/kde4port
\ No newline at end of file
+ branches/kolourpaint/control/scripts/kde4port
+
+
+* Instead of having "#if DEBUG_KP_MAIN_WINDOW" and similar:
+
+~~~~
+Re: kdegraphics/kolourpaint
+From: André Wöbbeking <Woebbeking@onlinehome.de>
+To: kde-cvs@kde.org [now kde-commits]
+CC: Clarence Dang <dang@kde.org>
+Date: 2005-02-03 5:54 pm
+
+On Thursday 03 February 2005 02:00, Clarence Dang wrote:
+> CVS commit by dang:
+>
+> add #if 0'ed out debug for clipboard fmts dump
+
+#if 0 has the disadvantage that the code isn't compiled and starts to
+rot over the time. A better solution is
+
+static const bool debugMainWindow = false;
+
+...
+
+if (debugMainWindow)
+{
+...
+}
+
+The code is compiled and can't rot but the compiler optimize it away.
+~~~~
+
+
+4.9. KolourPaint Code Refactoring/Auditing
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+* Audit both KolourPaint/KDE3 and KolourPaint/KDE4 for methods emitting
+ signals before all fields have been set e.g.:
+
+ void kpSelection::setPixmap (const QPixmap &pixmap)
+ {
+ m_pixmap = pixmap;
+ emit changed (); // <-- WRONG because slots connected to the signal
+ // see the object in an intermediate state.
+ m_transparencyMask = calculateTransparencyMask ();
+ // <--- You should emit it HERE instead.
+ }
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic