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

List:       kde-commits
Subject:    KDE/kdelibs/kdeui/dialogs
From:       Andras Mantia <amantia () kde ! org>
Date:       2010-10-15 12:39:19
Message-ID: 20101015123919.31D43AC895 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1186214 by amantia:

Provide a global way to allow KDialogs being embedded in graphics view. From now on, \
by default they do not get embedded. Rationale: 1-embedding is broken as of now 2-in \
normal case it makes sense to dialogs appear is separate widgets. Reviewed by dfaure.

 M  +9 -2      kdialog.cpp  
 M  +7 -0      kdialog.h  


--- trunk/KDE/kdelibs/kdeui/dialogs/kdialog.cpp #1186213:1186214
@@ -50,6 +50,8 @@
 #include <netwm.h>
 #endif
 
+static bool sAllowEmbeddingInGraphicsView = false;
+
 void KDialogPrivate::setupLayout()
 {
     Q_Q(KDialog);
@@ -178,13 +180,13 @@
 }
 
 KDialog::KDialog( QWidget *parent, Qt::WFlags flags )
-  : QDialog(parent, flags), d_ptr(new KDialogPrivate)
+  : QDialog(parent, sAllowEmbeddingInGraphicsView ? flags : flags | \
Qt::BypassGraphicsProxyWidget ), d_ptr(new KDialogPrivate)  {
     d_ptr->init(this);
 }
 
 KDialog::KDialog(KDialogPrivate &dd, QWidget *parent, Qt::WFlags flags)
-    : QDialog(parent, flags), d_ptr(&dd)
+    : QDialog(parent, sAllowEmbeddingInGraphicsView ? flags : flags | \
Qt::BypassGraphicsProxyWidget), d_ptr(&dd)  {
     d_ptr->init(this);
 }
@@ -1028,7 +1030,12 @@
    config.writeEntry( QString::fromLatin1("Height %1").arg( desk.height() ), \
sizeToSave.height(), options );  }
 
+void KDialog::setAllowEmbeddingInGraphicsView( bool allowEmbedding )
+{
+  sAllowEmbeddingInGraphicsView = allowEmbedding;
+}
 
+
 class KDialogQueue::Private
 {
   public:
--- trunk/KDE/kdelibs/kdeui/dialogs/kdialog.h #1186213:1186214
@@ -542,6 +542,13 @@
      */
     virtual QSize minimumSizeHint() const;
 
+	/**
+	 * Allow embedding the dialogs based on KDialog into a graphics view. By default \
embedding is not allowed, dialogs +	 * will appear as separate windows.
+	 * @since 4.6
+	*/
+	static void setAllowEmbeddingInGraphicsView( bool allowEmbedding );
+
   public Q_SLOTS:
     /**
      * Make a KDE compliant caption.


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

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