<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>132535</bug_id>
          
          <creation_ts>2006-08-17 10:32:22 +0000</creation_ts>
          <short_desc>can recieve multiple send project , this freeze for 1 minute quanta (press more time f8)</short_desc>
          <delta_ts>2006-09-02 12:29:31 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>10</classification_id>
          <classification>Unmaintained</classification>
          <product>quanta</product>
          <component>general</component>
          <version>unspecified</version>
          <rep_platform>Compiled Sources</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Roberto Innocenti">robyinno</reporter>
          <assigned_to name="András Manţia">amantia</assigned_to>
          
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>461044</commentid>
    <comment_count>0</comment_count>
    <who name="Roberto Innocenti">robyinno</who>
    <bug_when>2006-08-17 10:32:23 +0000</bug_when>
    <thetext>Version:           3.5.2 (using KDE KDE 3.4.2)
Installed from:    Compiled From Sources
Compiler:          gcc 4.0.1 
OS:                Linux

when you press f8 the upload window is not modal so if you press again f8 or equivalent menu item, it open a new upload window and after that the upload windows doesn&apos;t answer to the comand for 1 minutes...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465877</commentid>
    <comment_count>1</comment_count>
    <who name="András Manţia">amantia</who>
    <bug_when>2006-09-02 12:29:30 +0000</bug_when>
    <thetext>SVN commit 579990 by amantia:

Only one upload dialog can be shown at any time...

BUG: 132535

 M  +1 -0      ChangeLog  
 M  +15 -7     project/project.cpp  
 M  +2 -2      project/project.h  
 M  +5 -2      project/projectprivate.h  
 M  +3 -3      project/projectupload.cpp  
 M  +1 -1      project/projectupload.h  


--- branches/KDE/3.5/kdewebdev/quanta/ChangeLog #579989:579990
@@ -10,6 +10,7 @@
       - don&apos;t crash when closing a document in VPL mode [#133082, #126585, #125153]
       - fix crash when copying to clipboard inside VPL [#130212]
       - show the correct column number if tabs are used in the document [#133313]
+      - only one upload dialog can be shown at any time [#132535]
 
 Version 3.5.4 (Release date: 02-08-2006; Started 24-06-2005):
  - bugfixes:
--- branches/KDE/3.5/kdewebdev/quanta/project/project.cpp #579989:579990
@@ -74,6 +74,7 @@
   d = new ProjectPrivate(this);
   connect(d, SIGNAL(eventHappened(const QString&amp;, const QString&amp;, const QString&amp; )), this, SIGNAL(eventHappened(const QString&amp;, const QString&amp;, const QString&amp; )));
   d-&gt;m_mainWindow = parent;
+  d-&gt;m_uploadDialog = 0L;
   keepPasswd = true;
   d-&gt;initActions(parent-&gt;actionCollection());
 }
@@ -854,9 +855,13 @@
   if (! ViewManager::ref()-&gt;saveAll())
     return;
 
-  ProjectUpload *dlg = new ProjectUpload(KURL(), &quot;&quot;, false, false, false, i18n(&quot;Upload project items...&quot;));
-  connect(dlg, SIGNAL(eventHappened(const QString&amp;, const QString&amp;, const QString&amp; )), this, SIGNAL(eventHappened(const QString&amp;, const QString&amp;, const QString&amp; )));
-  dlg-&gt;show();
+  if (!d-&gt;m_uploadDialog)
+  {
+    d-&gt;m_uploadDialog = new ProjectUpload(KURL(), &quot;&quot;, false, false, false, i18n(&quot;Upload project items...&quot;));
+    connect(d-&gt;m_uploadDialog, SIGNAL(eventHappened(const QString&amp;, const QString&amp;, const QString&amp; )), this, SIGNAL(eventHappened(const QString&amp;, const QString&amp;, const QString&amp; )));
+    d-&gt;m_uploadDialog-&gt;show();
+  } else
+    d-&gt;m_uploadDialog-&gt;raise();
 }
 
 void Project::slotUploadURL(const KURL&amp; urlToUpload, const QString&amp; profileName, bool quickUpload, bool markOnly)
@@ -865,10 +870,13 @@
     return;
 
   KURL url = QExtFileInfo::toRelative( urlToUpload, d-&gt;baseURL);
-
-  ProjectUpload *dlg = new ProjectUpload(url, profileName, false, quickUpload, markOnly, i18n(&quot;Upload project items...&quot;));
-  connect(dlg, SIGNAL(eventHappened(const QString&amp;, const QString&amp;, const QString&amp; )), this, SIGNAL(eventHappened(const QString&amp;, const QString&amp;, const QString&amp; )));
-  dlg-&gt;show();
+  if (!d-&gt;m_uploadDialog)
+  {
+    d-&gt;m_uploadDialog = new ProjectUpload(url, profileName, false, quickUpload, markOnly, i18n(&quot;Upload project items...&quot;));
+    connect(d-&gt;m_uploadDialog, SIGNAL(eventHappened(const QString&amp;, const QString&amp;, const QString&amp; )), this, SIGNAL(eventHappened(const QString&amp;, const QString&amp;, const QString&amp; )));
+    d-&gt;m_uploadDialog-&gt;show();
+  } else
+    d-&gt;m_uploadDialog-&gt;raise();
 }
 
 
--- branches/KDE/3.5/kdewebdev/quanta/project/project.h #579989:579990
@@ -121,7 +121,7 @@
   QString yourself();
   /**
    * Get the roles of the current user in the form &quot;role:task&quot;.
-   * Examples: &quot;team leader&quot;, &quot;project leader:subprojectname&quot;, &quot;task leader:taskname&quot;. 
+   * Examples: &quot;team leader&quot;, &quot;project leader:subprojectname&quot;, &quot;task leader:taskname&quot;.
    * @return the roles (in lowercase)
    */
   QStringList yourRoles();
@@ -144,7 +144,7 @@
        @return true if close is possible
   */
   bool queryClose();
-  
+
   /** Saves the bookmarks for the url into the project file */
   void saveBookmarks(const KURL &amp;url, KTextEditor::MarkInterface *markIf);
   /** Loads the bookmarks for the url from the project file and sets them in the view*/
--- branches/KDE/3.5/kdewebdev/quanta/project/projectprivate.h #579989:579990
@@ -21,10 +21,12 @@
 //qt includes
 #include &lt;qmap.h&gt;
 #include &lt;qregexp.h&gt;
+#include &lt;qguardedptr.h&gt;
 
 //app includes
 #include &quot;project.h&quot;
 #include &quot;projectlist.h&quot;
+#include &quot;projectupload.h&quot;
 
 class QWidgetStack;
 
@@ -101,6 +103,7 @@
   QString debuggerClient;
   bool m_debuggerPersistentBreakpoints;
   bool m_debuggerPersistentWatches;
+  QGuardedPtr&lt;ProjectUpload&gt; m_uploadDialog;
 
   TeamMember m_teamLeader;
   QMap&lt;QString, TeamMember&gt; m_subprojectLeaders;
@@ -171,7 +174,7 @@
       @return false if there was nothing to save or an error occured during save
   */
   bool saveProject();
-  
+
   /**
       adds information about the current open project into config
    */
@@ -213,7 +216,7 @@
 
   /** Proceed with project closing.*/
   void slotProceedWithCloseProject(bool success);
-  
+
   void slotAddDirectory();
 
   void slotAddFiles();
--- branches/KDE/3.5/kdewebdev/quanta/project/projectupload.cpp #579989:579990
@@ -169,13 +169,13 @@
  totalText-&gt;setText(i18n(&quot;Scanning project files...&quot;));
 
  KURL u = m_project-&gt;projectBaseURL();
- if (!startUrl.isEmpty()) 
+ if (!startUrl.isEmpty())
  {
    u = QExtFileInfo::toAbsolute(startUrl, u);
  }
  QDict&lt;KFileItem&gt; projectDirFiles;
 
- if (startUrl.isEmpty() || strUrl.endsWith(&quot;/&quot;)) //upload a folder 
+ if (startUrl.isEmpty() || strUrl.endsWith(&quot;/&quot;)) //upload a folder
  {
    projectDirFiles = QExtFileInfo::allFilesDetailed(u, &quot;*&quot;, this);
  } else
@@ -558,7 +558,7 @@
    // QListViewItem *it = list-&gt;findItem( currentURL.path() );
     QListViewItem *it = currentItem;
     if (it)
-    {      
+    {
      it-&gt;setSelected(false);
      UploadTreeFile *itf = dynamic_cast&lt;UploadTreeFile*&gt;(it);
      if (itf)
--- branches/KDE/3.5/kdewebdev/quanta/project/projectupload.h #579989:579990
@@ -26,7 +26,6 @@
 #include &lt;qstringlist.h&gt;
 
 #include &lt;kio/job.h&gt;
-#include &quot;uploadtreeview.h&quot;
 
 /**
   *@author Dmitry Poplavsky &amp; Alexander Yakovlev &amp; Andras Mantia
@@ -77,6 +76,7 @@
   virtual void resizeEvent( QResizeEvent * );
   virtual void reject();
 
+
 signals: // Signals
   /** No descriptions */
   void uploadNext();
</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>