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

List:       kde-commits
Subject:    [kdiff3] src: Actually add QTreeWidgetItem to QTreeWidget.
From:       Michael Reeves <null () kde ! org>
Date:       2018-09-03 15:05:00
Message-ID: E1fwqPU-0004Nv-8N () code ! kde ! org
[Download RAW message or body]

Git commit 31b8537d767add5cda3b39eec9dd9015302cfacb by Michael Reeves.
Committed on 02/09/2018 at 17:02.
Pushed by mreeves into branch 'master'.

Actually add QTreeWidgetItem to QTreeWidget.

Don't just leak memmory when creating QTreeWidgetItems in
DirectoryMergeInfo::addListViewItem. Acually do something with the
returned object. Like add it to the QTreeWidget.

M  +16   -20   src/directorymergewindow.cpp
M  +7    -5    src/directorymergewindow.h

https://commits.kde.org/kdiff3/31b8537d767add5cda3b39eec9dd9015302cfacb

diff --git a/src/directorymergewindow.cpp b/src/directorymergewindow.cpp
index 7cd8a67..1f2698f 100644
--- a/src/directorymergewindow.cpp
+++ b/src/directorymergewindow.cpp
@@ -3352,8 +3352,7 @@ bool DirectoryMergeInfo::eventFilter(QObject* o, QEvent* e)
     return false;
 }
 
-static void addListViewItem(QTreeWidget* pListView, const QString& dir,
-                            const QString& basePath, FileAccess* fi)
+void DirectoryMergeInfo::addListViewItem(const QString& dir, const QString& basePath, \
FileAccess* fi)  {
     if(basePath.isEmpty())
     {
@@ -3365,26 +3364,23 @@ static void addListViewItem(QTreeWidget* pListView, const QString& dir,
         {
             QString dateString = fi->lastModified().toString("yyyy-MM-dd hh:mm:ss");
             //TODO: Move logic to FileAccess
-            new QTreeWidgetItem(
-                pListView,
-                QStringList() << dir << QString(fi->isDir() ? i18n("Dir") : i18n("File")) + \
(fi->isSymLink() ? i18n("-Link") : "") << QString::number(fi->size()) << \
                QLatin1String(fi->isReadable() ? "r" : " ") + QLatin1String(fi->isWritable() ? \
                "w" : " ")
-#ifdef Q_OS_WIN
-                              /*Future: Use GetFileAttributes()*/
-                              <<
-#else
-                                                                                               \
                + QLatin1String((fi->isExecutable() ? "x" : " "))
-                              <<
-#endif
-                    dateString << QString(fi->isSymLink() ? (" -> " + fi->readLink()) : \
QString(""))); +            m_pInfoList->addTopLevelItem( new QTreeWidgetItem(
+                m_pInfoList,
+                QStringList() << dir << 
+                    QString(fi->isDir() ? i18n("Dir") : i18n("File")) + (fi->isSymLink() ? \
i18n("-Link") : "") << QString::number(fi->size()) << QLatin1String(fi->isReadable() ? "r" : " \
") +                    + QLatin1String(fi->isWritable() ? "w" : " ")
+                    + QLatin1String((fi->isExecutable() ? "x" : " ")) <<
+                    dateString << QString(fi->isSymLink() ? (" -> " + fi->readLink()) : \
QString(""))) +            );
         }
         else
         {
-            new QTreeWidgetItem(
-                pListView,
+            m_pInfoList->addTopLevelItem(new QTreeWidgetItem(
+                m_pInfoList,
                 QStringList() << dir << i18n("not available") << ""
                               << ""
                               << ""
-                              << "");
+                              << ""));
         }
     }
 }
@@ -3449,13 +3445,13 @@ void DirectoryMergeInfo::setInfo(
     }
 
     m_pInfoList->clear();
-    addListViewItem(m_pInfoList, i18n("A"), dirA.prettyAbsPath(), mfi.m_pFileInfoA);
-    addListViewItem(m_pInfoList, i18n("B"), dirB.prettyAbsPath(), mfi.m_pFileInfoB);
-    addListViewItem(m_pInfoList, i18n("C"), dirC.prettyAbsPath(), mfi.m_pFileInfoC);
+    addListViewItem(i18n("A"), dirA.prettyAbsPath(), mfi.m_pFileInfoA);
+    addListViewItem(i18n("B"), dirB.prettyAbsPath(), mfi.m_pFileInfoB);
+    addListViewItem(i18n("C"), dirC.prettyAbsPath(), mfi.m_pFileInfoC);
     if(!bHideDest)
     {
         FileAccess fiDest(dirDest.prettyAbsPath() + "/" + mfi.subPath(), true);
-        addListViewItem(m_pInfoList, i18n("Dest"), dirDest.prettyAbsPath(), &fiDest);
+        addListViewItem(i18n("Dest"), dirDest.prettyAbsPath(), &fiDest);
     }
     for(int i = 0; i < m_pInfoList->columnCount(); ++i)
         m_pInfoList->resizeColumnToContents(i);
diff --git a/src/directorymergewindow.h b/src/directorymergewindow.h
index a997ff5..b9a5669 100644
--- a/src/directorymergewindow.h
+++ b/src/directorymergewindow.h
@@ -147,11 +147,11 @@ protected Q_SLOTS:
    void onExpanded();
    void	currentChanged( const QModelIndex & current, const QModelIndex & previous ) override; \
// override  private:
-   class Data;
-   friend class Data;
-   Data* d;
-   class DirMergeItemDelegate;
-   friend class DirMergeItemDelegate;
+  class Data;
+  friend class Data;
+  Data* d;
+  class DirMergeItemDelegate;
+  friend class DirMergeItemDelegate;
 };
 
 class DirectoryMergeInfo : public QFrame
@@ -170,6 +170,8 @@ public:
 Q_SIGNALS:
    void gotFocus();
 private:
+   void addListViewItem(const QString& dir, const QString& basePath, FileAccess* fi);
+
    QLabel* m_pInfoA;
    QLabel* m_pInfoB;
    QLabel* m_pInfoC;


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

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