Results 1 to 10 of 10

Thread: listing derectory contents

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,376
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Thanks
    4
    Thanked 5,019 Times in 4,795 Posts
    Wiki edits
    10

    Default Re: listing derectory contents

    The approach looks fine. As for combining two models - you'll have to "delegate" access to one model to the other. So for instance if someone asks your model for data for an index that describes a file in a project, you'll have to translate the index to an index understood by the dir model, call the dir model's method with this crafted index and return the result as a result of your method. A simple sketch of what I mean (look in my earlier post for an extended version):
    Qt Code:
    1. QVariant MyModel::data(const QModelIndex &index, ...) const {
    2. QModelIndex dirIndex = translateToDirModel(index);
    3. return internalDirModel->data(dirIndex, ...);
    4. }
    To copy to clipboard, switch view to plain text mode 

  2. #2
    Join Date
    Apr 2008
    Posts
    7
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: listing derectory contents

    Thanks Wysota,

    I am finding difficult in "mapping the index (of my model) to index of dir model" and also finding the depth of an index. Somehow i managed to code for finding the depth of an index. I have attached the source code. Please verify the depth function and some more hints on mapping the index(i would request the complete code).

    As I said earliar, i am using the simpletreemodel code. currently am hardcoded the values in setupModelData.

    Thanks
    Attached Files Attached Files

  3. #3
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,376
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Thanks
    4
    Thanked 5,019 Times in 4,795 Posts
    Wiki edits
    10

    Default Re: listing derectory contents

    Finding depth is easy. Just iterate to parent() index and count how many iterations it takes until you reach the top.

    Qt Code:
    1. QModelIndex iter = index;
    2. int depth = 0;
    3. while(!iter.isNull()){
    4. iter = iter.parent();
    5. ++depth;
    6. }
    To copy to clipboard, switch view to plain text mode 

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Qt is a trademark of The Qt Company.