Merge lp:~carlos-mazieri/ubuntu-filemanager-app/samba-actions-03 into lp:ubuntu-filemanager-app

Proposed by Carlos Jose Mazieri
Status: Merged
Approved by: Arto Jalkanen
Approved revision: 433
Merged at revision: 438
Proposed branch: lp:~carlos-mazieri/ubuntu-filemanager-app/samba-actions-03
Merge into: lp:ubuntu-filemanager-app
Prerequisite: lp:~carlos-mazieri/ubuntu-filemanager-app/samba-actions-02
Diff against target: 135 lines (+19/-52)
2 files modified
src/plugin/folderlistmodel/dirmodel.cpp (+17/-48)
src/plugin/folderlistmodel/dirmodel.h (+2/-4)
To merge this branch: bzr merge lp:~carlos-mazieri/ubuntu-filemanager-app/samba-actions-03
Reviewer Review Type Date Requested Status
Arto Jalkanen Approve
Ubuntu Phone Apps Jenkins Bot continuous-integration Approve
Review via email: mp+265194@code.launchpad.net

Commit message

Removed some QFileInfo dependency because it will not work for remote locations, using class Location instead.

Description of the change

Replaced some disk access using Qt Objects by Location similar objects

To post a comment you must log in.
Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
Arto Jalkanen (ajalkane) wrote :

Several places that this comment applies to:

Why don't you use d(setParentIfRelative(folderName)); here also?

My understanding of C++ is that is more efficient than using assignment to created object. With assignment the object is first created, and then it's operator=() called to set instance's variables. If using directly copy constructor, the compiler can optimize the creation of the object.

I'll approve this nevertheless as it's a minor thing and you can consider yourself whether to change it or top-approve this change.

review: Approve
Revision history for this message
Carlos Jose Mazieri (carlos-mazieri) wrote :

Thanks for looking at this, for sure I agree, I just was not paying attention on this.

I will change that in the samba-actions-04 as it changes again DirModel::canReadDir(), I think that is possible to generate a merge conflict changing it here.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/plugin/folderlistmodel/dirmodel.cpp'
--- src/plugin/folderlistmodel/dirmodel.cpp 2015-07-18 21:32:12 +0000
+++ src/plugin/folderlistmodel/dirmodel.cpp 2015-07-18 21:32:12 +0000
@@ -1509,80 +1509,51 @@
15091509
1510bool DirModel::existsDir(const QString &folderName) const1510bool DirModel::existsDir(const QString &folderName) const
1511{1511{
1512 DirItemInfo d(setParentIfRelative(folderName));1512 DirItemInfo d = setParentIfRelative(folderName);
1513 return d.exists() && d.isDir();1513 return d.exists() && d.isDir();
1514}1514}
15151515
1516bool DirModel::canReadDir(const QString &folderName) const1516bool DirModel::canReadDir(const QString &folderName) const
1517{1517{
1518 DirItemInfo d(setParentIfRelative(folderName));1518 DirItemInfo d = setParentIfRelative(folderName);
1519 return canReadDir(d.diskFileInfo());1519 return d.isDir() && d.isReadable();
1520}1520}
15211521
1522bool DirModel::canReadDir(const QFileInfo & d) const
1523{
1524 return d.exists() && d.isDir() && d.isReadable() && d.isExecutable();
1525}
15261522
1527bool DirModel::existsFile(const QString &fileName) const1523bool DirModel::existsFile(const QString &fileName) const
1528{1524{
1529 DirItemInfo f(setParentIfRelative(fileName));1525 DirItemInfo f = setParentIfRelative(fileName);
1530 return f.exists() && f.isFile();1526 return f.exists() && f.isFile();
1531}1527}
15321528
1533bool DirModel::canReadFile(const QString &fileName) const1529bool DirModel::canReadFile(const QString &fileName) const
1534{1530{
1535 DirItemInfo f(setParentIfRelative(fileName));1531 DirItemInfo f = setParentIfRelative(fileName);
1536 return canReadFile(f.diskFileInfo());1532 return f.isReadable() && f.isFile();
1537}1533}
1538
1539bool DirModel::canReadFile(const QFileInfo &f) const
1540{
1541 return f.exists() && f.isFile() && f.isReadable();
1542}
1543
15441534
15451535
1546QDateTime DirModel::curPathCreatedDate() const1536QDateTime DirModel::curPathCreatedDate() const
1547{1537{
1548 QDateTime d;1538 return mCurLocation->currentInfo()->created();
1549 QFileInfo f(mCurrentDir);
1550 if (f.exists())
1551 {
1552 d = f.created();
1553 }
1554 return d;
1555}1539}
15561540
15571541
1558QDateTime DirModel::curPathModifiedDate() const1542QDateTime DirModel::curPathModifiedDate() const
1559{1543{
1560 QDateTime d;1544 return mCurLocation->currentInfo()->lastModified();
1561 QFileInfo f(mCurrentDir);
1562 if (f.exists())
1563 {
1564 d = f.lastModified();
1565 }
1566 return d;
1567}1545}
15681546
15691547
1570QDateTime DirModel::curPathAccessedDate() const1548QDateTime DirModel::curPathAccessedDate() const
1571{1549{
1572 QDateTime d;1550 return mCurLocation->currentInfo()->lastRead();
1573 QFileInfo f(mCurrentDir);
1574 if (f.exists())
1575 {
1576 d = f.lastRead();
1577 }
1578 return d;
1579}1551}
15801552
15811553
1582bool DirModel::curPathIsWritable() const1554bool DirModel::curPathIsWritable() const
1583{1555{
1584 QFileInfo f(mCurrentDir);1556 return mCurLocation->currentInfo()->isWritable();
1585 return f.exists() && f.isWritable();
1586}1557}
15871558
1588QString DirModel::curPathCreatedDateLocaleShort() const1559QString DirModel::curPathCreatedDateLocaleShort() const
@@ -1621,16 +1592,14 @@
1621}1592}
16221593
16231594
1624QFileInfo DirModel::setParentIfRelative(const QString &fileOrDir) const1595DirItemInfo DirModel::setParentIfRelative(const QString &fileOrDir) const
1625{1596{
1626 QFileInfo myFi(fileOrDir);1597 QScopedPointer<DirItemInfo> myFi(mCurLocation->newItemInfo(fileOrDir));
1627 if (myFi.isRelative())1598 if (!myFi->isAbsolute())
1628 {1599 {
1629 myFi.setFile(mCurrentDir, fileOrDir);1600 myFi->setFile(mCurrentDir, fileOrDir);
1630 QFileInfo abs(myFi.absoluteFilePath());
1631 myFi = abs;
1632 }1601 }
1633 return myFi;1602 return *myFi;
1634}1603}
16351604
16361605
16371606
=== modified file 'src/plugin/folderlistmodel/dirmodel.h'
--- src/plugin/folderlistmodel/dirmodel.h 2015-03-14 19:07:13 +0000
+++ src/plugin/folderlistmodel/dirmodel.h 2015-07-18 21:32:12 +0000
@@ -475,10 +475,8 @@
475 QDir::Filter currentDirFilter() const;475 QDir::Filter currentDirFilter() const;
476 QString dirItems(const DirItemInfo& fi) const;476 QString dirItems(const DirItemInfo& fi) const;
477 bool cdIntoItem(const DirItemInfo& fi);477 bool cdIntoItem(const DirItemInfo& fi);
478 bool openItem(const DirItemInfo& fi); 478 bool openItem(const DirItemInfo& fi);
479 bool canReadDir(const QFileInfo& d) const;479 DirItemInfo setParentIfRelative(const QString &fileOrDir) const;
480 bool canReadFile(const QFileInfo& f) const;
481 QFileInfo setParentIfRelative(const QString &fileOrDir) const;
482 void setPathFromCurrentLocation();480 void setPathFromCurrentLocation();
483481
484private:482private:

Subscribers

People subscribed via source and target branches