[prev in list] [next in list] [prev in thread] [next in thread] 

List:       quanta-devel
Subject:    Re: [quanta-devel] Upload-Plugin
From:       Andras Mantia <amantia () kde ! org>
Date:       2008-02-01 16:05:43
Message-ID: 200802011805.49155.amantia () kde ! org
[Download RAW message or body]

[Attachment #2 (multipart/signed)]

[Attachment #4 (multipart/alternative)]


Hi,

 first of all: wow. :) I'm impressed and very happy.

On Monday 21 January 2008, Niko Sams wrote:
> I did some work on an upload plugin for Quanta4. And I'm asking you
> now to review my code - this is the first time I'm working with
> KConfig, KIO, KDevelop... 

Sincerely, I'm also behind what happened in KDevelop in the past month), so we are \
somewhat equal in that regard. I'm learning some stuff now as I review it.

> I tested it with quanta - but it should
> work also with kdevelop - as it has no dependencies on quanta.

That is the idea behind (some of) the plugins. :)

> Installation:
> Apply the attached upload.diff to quanta and extract upload.tar.gz.
> Additionally a small fix for quanta projectfilemanager.diff I made -
> it adds folders as folders and not files to the project.

Great, thanks for it!

> Usage:
> - open a project
> - Settings -> Configure Project
> - Upload, edit profiles there
> - rightclick a project-item, select upload

Works as advertised (but see comments at the end).

> Uploadprofiles and times of uploads will be saved in the
> developer-project-config.

I think that's ok.

> And now my questions:
> - where could a upload-action be placed? (Context-Menu for the
> project-items is not very intuitive - it should be in some menu)

I think it should be in the context menu and in the Project menu, just like in \
Quanta3.  If you look there, you will see the following actions: Project menu->Upload \
project Context menu when clicking on the project title->Upload Project
Context menu on a project folder->Upload Folder and Quick Upload Folder
Context menu on a project file->Upload File and Quick Upload File
Context menu on a document tab->Upload File 

The Quick Upload means it uploads to the default profile without further questions.

As you see, the menu text depends on where you request the context menu, so this is \
something that needs to be implemented in the plugin as well, where you have only \
Upload File. Maybe you'd even have to create more QActions in the \
requestContextMenuActions method.

> But how does such a action know what project is active?

Well, that's a tricky question and something that will be tricky for many things, \
since KDevelop support now more than one open projects, as much as I was against it. \
:) I think it should be done as for the project config (see Settings->Configure \
Project). So it would be a Project->Upload project and a list for loaded projects. \
AFAIK there is no such notion in KDevelop platform as "active project", so if we have \
a default shortcut for upload, that should as which one to upload. To make it easier \
to the user, such questions should appear only when more than one project is loaded.  \
So you'd probably need a KActionMenu based action which is plugged in the Project \
menu from an .rc file, something like: <!DOCTYPE kpartgui>
<kpartplugin name=upload library="libkdevupload" version="1">
<MenuBar>
 <Menu name="project">
  <Action name="project_upload" />
 </Menu>
</MenuBar>
</kpartplugin>

This should be merged into the main Project Menu (but of course it is untested).


> - Is the model-proxy approach I made with UploadProjectModel a good
> idea? 

Yes, I think it is a good idea, this is how these kind of things should be done in \
Qt4.

> - three files are linked into the plugin and the pref-plugin;
> can i avoid this? 

You mean the same file is compiled into different targets? With KDE3's automake based \
build system I'd say this can be avoid (or better, should be avoided) by creating a \
static "convenience" library, which holds the common files and you link those targets \
against this library. AFAIK, this is not supported with cmake.  Yes, unfortunately \
this double inclusion cannot be avoided. See: \
http://www.cmake.org/Wiki/CMake_FAQ#Does_CMake_support_.22convenience.22_libraries.3F

> - uploaddialog.cpp:176 is that working?

This one?
  connect(this, SIGNAL(finished(int)), job, SLOT(kill()));

As I understand you want to kill the job when the dialog is closed. This should work, \
but probably a nicer solution is to reimplement QDialog::done() and there stop/kill \
the job and call the parent's done slot. Especially if you need to do some more \
cleanup there/


> Please tell me whats good/bad about the plugin - and for what parts
> there would be a easier/better solultion...

Of course I couldn't read it line by line, and I don't want to do. For the code, I \
                have the following (small) comments:
- please add doxygen documentation for the headers. I know it is not the case for all \
the other plugins, but i'd like to set this as a requirement for new code that is \
                added.
- for kDebug() Quanta has the "24000" debug area allocated (kDebug(24000)). But as \
now KDE supports per-project debug area setting in the CMakeFile.txt, this is not a \
big issue. I'll add that one, so you can keep the kDebug() lines as they are. :)

Regarding the functionality, I noticed so far the following issues (I realize that \
they would be too much to ask from a first implementation, but these are what came to \
                my mind, in random order):
- it is missing some functionality from the old dialog. I'm not sure if we really \
need all the button from the right (All, Modified, Invert, etc.), but I can imagine \
some of them made sense. They might be moved to the context menu of the treeview \
                though.
- I find it odd that the progress bar appears only when you click Upload
- the cancel button should be below the progressbar, maybe the Upload as well, like \
                in the old dialog
- when you create a new profile and that is the only one, the "Use as default profile \
                "  should be ticked
- mark as modified instead of upload is needed. That's the truth, sometimes you need \
                to do this. 
- use KWallet for storing the password
- uploading the whole project or a folder seems to not work, it gives an error like: 
Could not write to file /data/development/quanta/upload/bin/akte.part

(bin/akte is what it is trying to upload). Probably does not create the "bin" folder \
on the upload server.

- would be nice if the plugin would create a treeview side-widget (like the Project \
tree) for each upload profile and would list the content of the servers there. This \
was there in Quanta3.

Ok, so after these long mail the questions:
- do you have an svn account? If so, feel free to commit it (after adding the doxygen \
                docs). If not, request one from sysadmin@kde.org, with my \
                recommendation.
- do you plan to work on this (or other parts of Quanta) in the future? I hope yes. \
:)

Thanks for your work,
Andras


-- 
Quanta Plus developer - http://quanta.kdewebdev.org K Desktop Environment - \
http://www.kde.org


[Attachment #7 (text/html)]

<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; \
font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">Hi,</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;"></p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;"> first of all: wow. :) I'm impressed and very \
happy.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"></p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">On Monday 21 January 2008, Niko Sams \
wrote:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">&gt; I did some work on an upload plugin for Quanta4. And I'm \
asking you</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">&gt; now to review my code - this is the first time I'm working \
with</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">&gt; KConfig, KIO, KDevelop... </p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';"></p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">Sincerely, I'm also behind what happened in \
KDevelop in the past month), so we are somewhat equal in that regard. I'm learning \
some stuff now as I review it.</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">&gt; I \
tested it with quanta - but it should</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">&gt; work also with kdevelop \
- as it has no dependencies on quanta.</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">That is \
the idea behind (some of) the plugins. :)</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">&gt; \
Installation:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">&gt; Apply the attached upload.diff to quanta and extract \
upload.tar.gz.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">&gt; Additionally a small fix for quanta \
projectfilemanager.diff I made -</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">&gt; it adds folders as folders and not files \
to the project.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">Great, \
thanks for it!</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">&gt; \
Usage:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">&gt; - open a project</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">&gt; - Settings -&gt; \
Configure Project</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">&gt; - Upload, edit profiles there</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">&gt; - \
rightclick a project-item, select upload</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">Works as \
advertised (but see comments at the end).</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">&gt; \
Uploadprofiles and times of uploads will be saved in the</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">&gt; \
developer-project-config.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">I think \
that's ok.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';"></p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">&gt; And now my \
questions:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">&gt; - where could a upload-action be placed? (Context-Menu for \
the</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">&gt; project-items is not very intuitive - it should be in some \
menu)</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';"></p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">I think it should be in the \
context menu and in the Project menu, just like in Quanta3.  If you look there, you \
will see the following actions:</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">Project menu-&gt;Upload project</p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">Context \
menu when clicking on the project title-&gt;Upload Project</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">Context \
menu on a project folder-&gt;Upload Folder and Quick Upload Folder</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">Context \
menu on a project file-&gt;Upload File and Quick Upload File</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">Context \
menu on a document tab-&gt;Upload File </p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">The \
Quick Upload means it uploads to the default profile without further questions.</p> \
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';"></p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">As you see, the menu text \
depends on where you request the context menu, so this is something that needs to be \
implemented in the plugin as well, where you have only Upload File. Maybe you'd even \
have to create more QActions in the requestContextMenuActions method.</p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';"></p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">&gt;    But how does such a action know what \
project is active?</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">Well, \
that's a tricky question and something that will be tricky for many things, since \
KDevelop support now more than one open projects, as much as I was against it. :) I \
think it should be done as for the project config (see Settings-&gt;Configure \
Project). So it would be a Project-&gt;Upload project and a list for loaded projects. \
AFAIK there is no such notion in KDevelop platform as "active project", so if we have \
a default shortcut for upload, that should as which one to upload. To make it easier \
to the user, such questions should appear only when more than one project is \
loaded.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';"> So you'd probably need a KActionMenu based action which is \
plugged in the Project menu from an .rc file, something like:</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">&lt;!DOCTYPE kpartgui&gt;</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">&lt;kpartplugin name=upload \
library="libkdevupload" version="1"&gt;</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">&lt;MenuBar&gt;</p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';"> \
&lt;Menu name="project"&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">  &lt;Action name="project_upload" /&gt;</p> \
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';"> \
&lt;/Menu&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">&lt;/MenuBar&gt;</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">&lt;/kpartplugin&gt;</p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';"></p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">This should be merged into the main Project \
Menu (but of course it is untested).</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';"></p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">&gt; - Is the model-proxy approach I made \
with UploadProjectModel a good</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">&gt; idea? </p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';"></p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">Yes, I think it is a good idea, this is how \
these kind of things should be done in Qt4.</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">&gt; can \
i avoid this? </p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">You mean \
the same file is compiled into different targets? With KDE3's automake based build \
system I'd say this can be avoid (or better, should be avoided) by creating a static \
"convenience" library, which holds the common files and you link those targets \
against this library. AFAIK, this is not supported with cmake.  Yes, unfortunately \
this double inclusion cannot be avoided. See:</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">http://www.cmake.org/Wiki/CMake_FAQ#Does_CMake_support_.22convenience.22_libraries.3F</p>
 <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';"></p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">&gt; - uploaddialog.cpp:176 \
is that working?</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">This \
one?</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">  connect(this, SIGNAL(finished(int)), job, SLOT(kill()));</p> \
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';"></p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">As I understand you want to \
kill the job when the dialog is closed. This should work, but probably a nicer \
solution is to reimplement QDialog::done() and there stop/kill the job and call the \
parent's done slot. Especially if you need to do some more cleanup there/</p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">&gt; \
Please tell me whats good/bad about the plugin - and for what parts</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">&gt; \
there would be a easier/better solultion...</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">Of \
course I couldn't read it line by line, and I don't want to do. For the code, I have \
the following (small) comments:</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">- please add doxygen documentation for the \
headers. I know it is not the case for all the other plugins, but i'd like to set \
this as a requirement for new code that is added.</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">- for kDebug() Quanta has \
the "24000" debug area allocated (kDebug(24000)). But as now KDE supports per-project \
debug area setting in the CMakeFile.txt, this is not a big issue. I'll add that one, \
so you can keep the kDebug() lines as they are. :)</p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';"></p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">Regarding the functionality, I noticed so far \
the following issues (I realize that they would be too much to ask from a first \
implementation, but these are what came to my mind, in random order):</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">- it is \
missing some functionality from the old dialog. I'm not sure if we really need all \
the button from the right (All, Modified, Invert, etc.), but I can imagine some of \
them made sense. They might be moved to the context menu of the treeview though.</p> \
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">- I find \
it odd that the progress bar appears only when you click Upload</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">- the \
cancel button should be below the progressbar, maybe the Upload as well, like in the \
old dialog</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">- when you create a new profile and that is the only one, the \
"Use as default profile "  should be ticked</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">- mark as modified instead \
of upload is needed. That's the truth, sometimes you need to do this. </p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">- use \
KWallet for storing the password</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">- uploading the whole project or a folder \
seems to not work, it gives an error like: </p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">Could not write to file \
/data/development/quanta/upload/bin/akte.part</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">(bin/akte is what it is trying to upload). Probably does not \
create the "bin" folder on the upload server.</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">- would \
be nice if the plugin would create a treeview side-widget (like the Project tree) for \
each upload profile and would list the content of the servers there. This was there \
in Quanta3.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">Ok, so \
after these long mail the questions:</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';">- do you have an svn \
account? If so, feel free to commit it (after adding the doxygen docs). If not, \
request one from sysadmin@kde.org, with my recommendation.</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; font-family:'Arial';">- do you \
plan to work on this (or other parts of Quanta) in the future? I hope yes. :)</p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';"></p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">Thanks for your work,</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';">Andras</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0; font-family:'Arial';"></p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0; \
font-family:'Arial';"></p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0; font-family:'Arial';">-- </p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">Quanta Plus developer - \
http://quanta.kdewebdev.org K Desktop Environment - \
http://www.kde.org</p></body></html>


["signature.asc" (application/pgp-signature)]

_______________________________________________
quanta-devel mailing list
quanta-devel@kde.org
https://mail.kde.org/mailman/listinfo/quanta-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic