[Bug 260800] New: two updates conflict with each other / do not know what to do

m.wege at web.de m.wege at web.de
Mon Dec 20 14:32:40 GMT 2010


https://bugs.kde.org/show_bug.cgi?id=260800

           Summary: two updates conflict with each other / do not know
                    what to do
           Product: kmail2
           Version: 2.0.89
          Platform: Ubuntu Packages
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
        AssignedTo: kdepim-bugs at kde.org
        ReportedBy: m.wege at web.de


Version:           2.0.89 (using KDE 4.5.85) 
OS:                Linux

Quite frequently Kmail comes up with the following message:
"Conflict resolution - Two updates conflict with each other - Please choose
which update(s) to apply".
Example:



Data:
Return-Path: <commitfilter at new.kstuff.org>
X-Original-To: comitfilter-kde at wege.eu
Delivered-To: mark at wege.eu
Received: from mx1.briefhansa.de (markus.endil.intern [10.2.1.27])
        by fray.racken.eu (Postfix) with ESMTP id 3E552141A4A8
        for <comitfilter-kde at wege.eu>; Mon, 20 Dec 2010 14:48:20 +0100 (CET)
Received: from markus.endil.de (markus.endil.de [83.137.102.27])
        by mx1.briefhansa.de (Postfix) with ESMTP id 3A88B4128C0D
        for <comitfilter-kde at wege.eu>; Mon, 20 Dec 2010 14:48:20 +0100 (CET)
X-Virus-Scanned: amavisd-new at mx1.briefhansa.de
Received: from mx1.briefhansa.de ([83.137.102.27])
        by markus.endil.de (mx1.briefhansa.de [83.137.102.27]) (amavisd-new,
port 10024)
        with ESMTP id qsVr7LZ92Wnf for <comitfilter-kde at wege.eu>;
        Mon, 20 Dec 2010 14:48:16 +0100 (CET)
Received: from kdeget.osuosl.org (kdeget.osuosl.org [140.211.166.77])
        by mx1.briefhansa.de (Postfix) with ESMTP id 343384128C08
        for <comitfilter-kde at wege.eu>; Mon, 20 Dec 2010 14:47:55 +0100 (CET)
Received: from ktown.kde.org ([131.246.120.250])
        by kdeget.osuosl.org with smtp (Exim 4.69)
        (envelope-from
<kde-commits-bounces-+commitfilter=new.kstuff.org at kde.org>)
        id 1PUg5m-0007cu-8P
        for commitfilter at new.kstuff.org; Mon, 20 Dec 2010 14:47:58 +0100
Received: (qmail 652 invoked by uid 72); 20 Dec 2010 13:47:31 -0000
Received: (qmail 372 invoked from network); 20 Dec 2010 13:47:17 -0000
Received: from unknown (HELO git.kde.org) (195.135.221.71)
        by ktown.kde.org with SMTP; 20 Dec 2010 13:47:15 -0000
Received: by git.kde.org (Postfix, from userid 1001)
        id E02E9A6092; Mon, 20 Dec 2010 14:46:41 +0100 (CET)
From: Kevin Funk <krf at electrostorm.net>
To: <kde-commits at kde.org>
Subject: [KGraphViewer/libkgraphviz] 081f0de: Move PannerPosition enum decl to
        DotGraphView
X-Commit-Directories: (0) trunk/extragear/graphics/kgraphviewer
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Message-Id: <20101220134641.E02E9A6092 at git.kde.org>
Date: Mon, 20 Dec 2010 14:46:41 +0100 (CET)
X-BeenThere: kde-commits at kde.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: kde-commits at kde.org
List-Id: Notification of KDE commits <kde-commits.kde.org>
List-Unsubscribe: <https://mail.kde.org/mailman/listinfo/kde-commits>,
        <mailto:kde-commits-request at kde.org?subject=unsubscribe>
List-Post: <mailto:kde-commits at kde.org>
List-Help: <mailto:kde-commits-request at kde.org?subject=help>
List-Subscribe: <https://mail.kde.org/mailman/listinfo/kde-commits>,
        <mailto:kde-commits-request at kde.org?subject=subscribe>
commit 081f0de69972ecd4b306290a890b845758c5067f
branch libkgraphviz
Author: Kevin Funk <krf at electrostorm.net>
Date:   Mon Dec 20 14:13:40 2010 +0100
    Move PannerPosition enum decl to DotGraphView

    * This makes KGraphViewerInterface depend on KGraphViz (which is okay,
      since it is a required dependency anyway)
    * This makes KGraphViz no longer depend on KGraphViewer code
diff --git a/src/kgrapheditor.cpp b/src/kgrapheditor.cpp
index 9f261fb..32bde47 100644
--- a/src/kgrapheditor.cpp
+++ b/src/kgrapheditor.cpp
@@ -56,7 +56,6 @@

 #include <iostream>

-using namespace KGraphViewer;
 using namespace KGraphViz;

 KGraphEditor::KGraphEditor() :
diff --git a/src/kgraphviz/dotgraphview.cpp b/src/kgraphviz/dotgraphview.cpp
index fc2c5b7..50100ab 100644
--- a/src/kgraphviz/dotgraphview.cpp
+++ b/src/kgraphviz/dotgraphview.cpp
@@ -78,11 +78,10 @@

 // DotGraphView defaults
 #define DEFAULT_DETAILLEVEL 1
-#define DEFAULT_ZOOMPOS KGraphViewerInterface::Auto
+#define DEFAULT_ZOOMPOS DotGraphView::Auto
 #define KGV_MAX_PANNER_NODES 100

 using namespace KGraphViz;
-using namespace KGraphViewer;

 DotGraphViewPrivate::DotGraphViewPrivate(KActionCollection* actions,
DotGraphView* parent) :
   m_labelViews(),
@@ -91,7 +90,7 @@ DotGraphViewPrivate::DotGraphViewPrivate(KActionCollection*
actions, DotGraphVie
   m_isMoving(false),
   m_exporter(),
   m_zoomPosition(DEFAULT_ZOOMPOS),
-  m_lastAutoPosition(KGraphViewer::KGraphViewerInterface::TopLeft),
+  m_lastAutoPosition(DotGraphView::TopLeft),
   m_graph(0),
   m_printCommand(0),
   m_actions(actions),
@@ -215,8 +214,8 @@ void DotGraphViewPrivate::updateBirdEyeView()
   qreal y = q->height()-cvH - q->horizontalScrollBar()->height() -2;
   QPoint oldZoomPos = m_birdEyeView->pos();
   QPoint newZoomPos = QPoint(0,0);
-  KGraphViewerInterface::PannerPosition zp = m_zoomPosition;
-  if (zp == KGraphViewerInterface::Auto)
+  DotGraphView::PannerPosition zp = m_zoomPosition;
+  if (zp == DotGraphView::Auto)
   {
     QPointF tl1Pos = q->mapToScene(QPoint(0,0));
     QPointF tl2Pos = q->mapToScene(QPoint(cvW,cvH));
@@ -235,29 +234,29 @@ void DotGraphViewPrivate::updateBirdEyeView()
     zp = m_lastAutoPosition;
     switch(zp)
     {
-      case KGraphViewerInterface::TopRight:    minCols = trCols; break;
-      case KGraphViewerInterface::BottomLeft:  minCols = blCols; break;
-      case KGraphViewerInterface::BottomRight: minCols = brCols; break;
-      default:
-      case KGraphViewerInterface::TopLeft:     minCols = tlCols; break;
+      case DotGraphView::TopRight:    minCols = trCols; break;
+      case DotGraphView::BottomLeft:  minCols = blCols; break;
+      case DotGraphView::BottomRight: minCols = brCols; break;
+    default:
+      case DotGraphView::TopLeft:     minCols = tlCols; break;
     }
-    if (minCols > tlCols) { minCols = tlCols; zp =
KGraphViewerInterface::TopLeft; }
-    if (minCols > trCols) { minCols = trCols; zp =
KGraphViewerInterface::TopRight; }
-    if (minCols > blCols) { minCols = blCols; zp =
KGraphViewerInterface::BottomLeft; }
-    if (minCols > brCols) { minCols = brCols; zp =
KGraphViewerInterface::BottomRight; }
+    if (minCols > tlCols) { minCols = tlCols; zp = DotGraphView::TopLeft; }
+    if (minCols > trCols) { minCols = trCols; zp = DotGraphView::TopRight; }
+    if (minCols > blCols) { minCols = blCols; zp = DotGraphView::BottomLeft; }
+    if (minCols > brCols) { minCols = brCols; zp = DotGraphView::BottomRight;
}

     m_lastAutoPosition = zp;
   }

   switch(zp)
   {
-    case KGraphViewerInterface::TopRight:
+    case DotGraphView::TopRight:
       newZoomPos = QPoint(x,0);
       break;
-    case KGraphViewerInterface::BottomLeft:
+    case DotGraphView::BottomLeft:
       newZoomPos = QPoint(0,y);
       break;
-    case KGraphViewerInterface::BottomRight:
+    case DotGraphView::BottomRight:
       newZoomPos = QPoint(x,y);
       break;
     default:
@@ -448,19 +447,19 @@ void DotGraphViewPrivate::setupPopup()
   m_bevPopup->addAction(bba);
   switch (m_zoomPosition)
   {
-    case KGraphViewerInterface::TopLeft:
+    case DotGraphView::TopLeft:
       btla->setChecked(true);
       break;
-    case KGraphViewerInterface::TopRight:
+    case DotGraphView::TopRight:
       btra->setChecked(true);
       break;
-    case KGraphViewerInterface::BottomLeft:
+    case DotGraphView::BottomLeft:
       bbla->setChecked(true);
       break;
-    case KGraphViewerInterface::BottomRight:
+    case DotGraphView::BottomRight:
       bbra->setChecked(true);
       break;
-    case KGraphViewerInterface::Auto:
+    case DotGraphView::Auto:
       bba->setChecked(true);
       break;
   }
@@ -559,7 +558,7 @@ DotGraphView::~DotGraphView()
   delete d_ptr;
 }

-KGraphViewerInterface::PannerPosition DotGraphView::zoomPos() const {
Q_D(const DotGraphView); return d->m_zoomPosition; }
+DotGraphView::PannerPosition DotGraphView::zoomPos() const { Q_D(const
DotGraphView); return d->m_zoomPosition; }

 double DotGraphView::zoom() const {Q_D(const DotGraphView); return d->m_zoom;}
 KSelectAction* DotGraphView::bevPopup() const {Q_D(const DotGraphView); return
d->m_bevPopup;}
@@ -1224,18 +1223,22 @@ void DotGraphView::setLayoutCommand(const QString&
command)
   reload();
 }

-KGraphViewerInterface::PannerPosition DotGraphView::zoomPos(const QString& s)
+DotGraphView::PannerPosition DotGraphView::zoomPos(const QString& s)
 {
-  KGraphViewerInterface::PannerPosition  res = DEFAULT_ZOOMPOS;
-  if (s == QString("KGraphViewerInterface::TopLeft")) res =
KGraphViewerInterface::TopLeft;
-  if (s == QString("KGraphViewerInterface::TopRight")) res =
KGraphViewerInterface::TopRight;
-  if (s == QString("KGraphViewerInterface::BottomLeft")) res =
KGraphViewerInterface::BottomLeft;
-  if (s == QString("KGraphViewerInterface::BottomRight")) res =
KGraphViewerInterface::BottomRight;
-  if (s == QString("Automatic")) res = KGraphViewerInterface::Auto;
+  PannerPosition  res = DEFAULT_ZOOMPOS;
+  if (s == QString("KGraphViewerInterface::TopLeft"))
+    res = TopLeft;
+  if (s == QString("KGraphViewerInterface::TopRight"))
+    res = TopRight;
+  if (s == QString("KGraphViewerInterface::BottomLeft"))
+    res = BottomLeft;
+  if (s == QString("KGraphViewerInterface::BottomRight"))
+    res = BottomRight;
+  if (s == QString("Automatic"))
+    res = Auto;

   return res;
 }
-
 void DotGraphView::setPannerEnabled(bool enabled)
 {
   Q_D(DotGraphView);
@@ -1252,21 +1255,10 @@ void DotGraphView::viewBevActivated(int newZoomPos)
   kDebug() << "Zoom position:" << newZoomPos;

   Q_D(DotGraphView);
-  d->m_zoomPosition = (KGraphViewerInterface::PannerPosition)newZoomPos;
   d->updateSizes();
   emit(sigViewBevActivated(newZoomPos));
 }

-QString DotGraphView::zoomPosString(KGraphViewerInterface::PannerPosition p)
-{
-    if (p == KGraphViewerInterface::TopRight) return
QString("KGraphViewerInterface::TopRight");
-    if (p == KGraphViewerInterface::BottomLeft) return
QString("KGraphViewerInterface::BottomLeft");
-    if (p == KGraphViewerInterface::BottomRight) return
QString("KGraphViewerInterface::BottomRight");
-    if (p == KGraphViewerInterface::Auto) return QString("Automatic");
-
-    return QString("KGraphViewerInterface::TopLeft");
-}
-
 void DotGraphView::pageSetup()
 {
   /*
@@ -1394,27 +1386,27 @@ void DotGraphView::slotBevToggled()

 void DotGraphView::slotBevTopLeft()
 {
-  viewBevActivated(KGraphViewerInterface::TopLeft);
+  viewBevActivated(TopLeft);
 }

 void DotGraphView::slotBevTopRight()
 {
-  viewBevActivated(KGraphViewerInterface::TopRight);
+  viewBevActivated(TopRight);
 }

 void DotGraphView::slotBevBottomLeft()
 {
-  viewBevActivated(KGraphViewerInterface::BottomLeft);
+  viewBevActivated(BottomLeft);
 }

 void DotGraphView::slotBevBottomRight()
 {
-  viewBevActivated(KGraphViewerInterface::BottomRight); 
+  viewBevActivated(BottomRight);
 }

 void DotGraphView::slotBevAutomatic()
 {
-  viewBevActivated(KGraphViewerInterface::Auto);
+  viewBevActivated(Auto);
 }

 void DotGraphView::slotUpdate()
diff --git a/src/kgraphviz/dotgraphview.h b/src/kgraphviz/dotgraphview.h
index 2d944f4..7ade222 100644
--- a/src/kgraphviz/dotgraphview.h
+++ b/src/kgraphviz/dotgraphview.h
@@ -29,8 +29,6 @@

 #include "kgraphviz_export.h"

-#include "shared/kgraphviewer_interface.h"
-
 #include <QGraphicsView>

 class Agraph_t;
@@ -60,20 +58,21 @@ class KGRAPHVIZ_EXPORT DotGraphView : public QGraphicsView

 public:
   enum EditingMode { None, AddNewElement, AddNewEdge, DrawNewEdge,
SelectingElements };
+  enum PannerPosition { TopLeft, TopRight, BottomLeft, BottomRight, Auto };
   enum ScrollDirection { Here, Left, Right, Top, Bottom };

   explicit DotGraphView(KActionCollection* actions, QWidget* parent=0);
   virtual ~DotGraphView();

+    //TODO: rename zoomPos -> bev / panner, but _please_ make it consistent...
+  DotGraphView::PannerPosition zoomPos() const;
+  static DotGraphView::PannerPosition zoomPos(const QString&);
+  static QString zoomPosString(DotGraphView::PannerPosition);
+
   bool loadDot(const QString& dotFileName);
   bool loadLibrary(const QString& dotFileName);
   bool loadLibrary(Agraph_t* graph, const QString& layoutCommand = "dot");

-  //TODO: rename zoomPos -> bev / panner, but _please_ make it consistent...
-  KGraphViewer::KGraphViewerInterface::PannerPosition zoomPos() const;
-  static KGraphViewer::KGraphViewerInterface::PannerPosition zoomPos(const
QString&);
-  static QString
zoomPosString(KGraphViewer::KGraphViewerInterface::PannerPosition);
-
   virtual void wheelEvent(QWheelEvent* e);

   /// multiplies current zoom factor with @p factor
diff --git a/src/kgraphviz/dotgraphview_p.h b/src/kgraphviz/dotgraphview_p.h
index d269790..7a72f18 100644
--- a/src/kgraphviz/dotgraphview_p.h
+++ b/src/kgraphviz/dotgraphview_p.h
@@ -26,6 +26,7 @@
 #include "support/loadagraphthread.h"
 #include "support/layoutagraphthread.h"

+#include <QMap>
 #include <QSet>

 class QMenu;
@@ -68,7 +69,7 @@ public:
   GraphExporter m_exporter;

   // widget options
-  KGraphViewer::KGraphViewerInterface::PannerPosition m_zoomPosition,
m_lastAutoPosition;
+  DotGraphView::PannerPosition m_zoomPosition, m_lastAutoPosition;

   DotGraph* m_graph;

diff --git a/src/part/kgraphviewer_part.cpp b/src/part/kgraphviewer_part.cpp
index 50a123f..d01edfc 100644
--- a/src/part/kgraphviewer_part.cpp
+++ b/src/part/kgraphviewer_part.cpp
@@ -384,7 +384,7 @@ void KGraphViewerPart::setLayoutCommand(const QString&
command)
   d->m_widget->setLayoutCommand(command);
 }

-void KGraphViewerPart::setPannerPosition(KGraphViewerInterface::PannerPosition
position)
+void
KGraphViewerPart::setPannerPosition(KGraphViz::DotGraphView::PannerPosition
position)
 {
   d->m_widget->viewBevActivated(position);
 }
diff --git a/src/part/kgraphviewer_part.h b/src/part/kgraphviewer_part.h
index ce3f49f..4e2f326 100644
--- a/src/part/kgraphviewer_part.h
+++ b/src/part/kgraphviewer_part.h
@@ -21,6 +21,8 @@

 #include "shared/kgraphviewer_interface.h"

+#include <kgraphviz/dotgraphview.h>
+
 #include <kparts/part.h>
 #include <kparts/genericfactory.h>

@@ -56,7 +58,7 @@ public:
     virtual void centerOnNode(const QString& nodeId);
     virtual void selectNode(const QString& nodeId);
     virtual void setLayoutCommand(const QString& command);
-    virtual void setPannerPosition(PannerPosition position);
+    virtual void setPannerPosition(KGraphViz::DotGraphView::PannerPosition
position);
     virtual void setPannerEnabled(bool enabled);
     virtual void zoomBy(double factor);
     virtual void setZoomFactor(double factor);
diff --git a/src/shared/kgraphviewer_interface.h
b/src/shared/kgraphviewer_interface.h
index 358b06b..2095318 100644
--- a/src/shared/kgraphviewer_interface.h
+++ b/src/shared/kgraphviewer_interface.h
@@ -19,6 +19,8 @@
 #ifndef KGRAPHVIEWER_INTERFACE_H
 #define KGRAPHVIEWER_INTERFACE_H

+#include <kgraphviz/dotgraphview.h>
+
 #include <QtCore/QObject>
 #include <QtCore/QMap>
 #include <QtGui/QCursor>
@@ -84,8 +86,7 @@ public:
   virtual void zoomBy(double factor) = 0;
   virtual void setZoomFactor(double factor) = 0;

-  enum PannerPosition { TopLeft, TopRight, BottomLeft, BottomRight, Auto };
-  virtual void setPannerPosition(PannerPosition position) = 0;
+  virtual void setPannerPosition(KGraphViz::DotGraphView::PannerPosition
position) = 0;
   virtual void setPannerEnabled(bool enabled) = 0;

   virtual void setLayoutCommand(const QString& command) = 0;

Modification Time:
20.12.2010 15:23:16
Flags:
\SEEN


Reproducible: Didn't try


Actual Results:  
Kmail asked me to choose which update I want to keep or if I want to keep both.
I always keep booth, because I do not have any clue why this message appears
anyway and which message would be better.

Expected Results:  
a) Kmail not having this problems in the first place. I have no idea, why they
appear. I have only one mail programme running, so where do these different
changes come from?
b) If for some reason it can not be avoided that Kmail has this conflicts,
Kmail itself should make a reasonable choice for me automatically -> I assume
this would always to keep both.
c) At least have a "[ ] always use this solution."

OS: Linux (i686) release 2.6.37-7-generic-pae
Compiler: cc

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Kdepim-bugs mailing list