filemanager/examples/demo_fmfiledialog/mainwindow.cpp
author hgs
Wed, 29 Sep 2010 10:37:03 +0800
changeset 46 d58987eac7e8
child 47 12b82dc0e8db
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*     
hgs
parents:
diff changeset
    14
* 
hgs
parents:
diff changeset
    15
* Description:
hgs
parents:
diff changeset
    16
*     
hgs
parents:
diff changeset
    17
*
hgs
parents:
diff changeset
    18
*/
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#include "mainwindow.h"
hgs
parents:
diff changeset
    21
#include "fmfiledialog.h"
hgs
parents:
diff changeset
    22
#include "hbmessagebox.h"
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
#define getDir "getExistingDirectory"
hgs
parents:
diff changeset
    25
#define getFile "getOpenFileName"
hgs
parents:
diff changeset
    26
#define saveFile "getSaveFileName"
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
#define getDir_SetDir "getExistingDirectory_setDir"
hgs
parents:
diff changeset
    29
#define getFile_SetDir "getOpenFileName_setDir"
hgs
parents:
diff changeset
    30
#define saveFile_SetDir "getSaveFileName_setDir"
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
#define getDir_SetFilter "getExistingDirectory_setFilter"
hgs
parents:
diff changeset
    33
#define getDir_SetFilter_AllDirs "getExistingDirectory_setFilter_AllDirs"
hgs
parents:
diff changeset
    34
#define getFile_SetFilter "getOpenFileName_setFilter"
hgs
parents:
diff changeset
    35
#define saveFile_SetFilter "getSaveFileName_setFilter"
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
TestMainWindow::TestMainWindow()
hgs
parents:
diff changeset
    38
{
hgs
parents:
diff changeset
    39
}
hgs
parents:
diff changeset
    40
TestMainWindow::~TestMainWindow()
hgs
parents:
diff changeset
    41
{
hgs
parents:
diff changeset
    42
}
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
void TestMainWindow::init()
hgs
parents:
diff changeset
    45
{
hgs
parents:
diff changeset
    46
    HbView *mainView = new HbView;
hgs
parents:
diff changeset
    47
    addView( mainView );
hgs
parents:
diff changeset
    48
hgs
parents:
diff changeset
    49
    HbListWidget *listWidget = new HbListWidget( mainView );
hgs
parents:
diff changeset
    50
    mainView->setWidget( listWidget );
hgs
parents:
diff changeset
    51
hgs
parents:
diff changeset
    52
    listWidget->addItem( getDir );
hgs
parents:
diff changeset
    53
    listWidget->addItem( getFile );
hgs
parents:
diff changeset
    54
    listWidget->addItem( saveFile );
hgs
parents:
diff changeset
    55
    listWidget->addItem( " " );
hgs
parents:
diff changeset
    56
    listWidget->addItem( getDir_SetDir );
hgs
parents:
diff changeset
    57
    listWidget->addItem( getFile_SetDir );
hgs
parents:
diff changeset
    58
    listWidget->addItem( saveFile_SetDir );
hgs
parents:
diff changeset
    59
    listWidget->addItem( " " );
hgs
parents:
diff changeset
    60
    listWidget->addItem( getDir_SetFilter );
hgs
parents:
diff changeset
    61
    listWidget->addItem( getDir_SetFilter_AllDirs );
hgs
parents:
diff changeset
    62
    listWidget->addItem( getFile_SetFilter );
hgs
parents:
diff changeset
    63
    listWidget->addItem( saveFile_SetFilter );
hgs
parents:
diff changeset
    64
    listWidget->addItem( " " );
hgs
parents:
diff changeset
    65
    listWidget->addItem( "placeHolderA" );
hgs
parents:
diff changeset
    66
    listWidget->addItem( "placeHolderB" );
hgs
parents:
diff changeset
    67
    listWidget->addItem( "placeHolderC" );
hgs
parents:
diff changeset
    68
    listWidget->addItem( "placeHolderD" );
hgs
parents:
diff changeset
    69
    listWidget->addItem( "placeHolderE" );
hgs
parents:
diff changeset
    70
    listWidget->addItem( "placeHolderF" );
hgs
parents:
diff changeset
    71
    listWidget->addItem( "placeHolderG" );
hgs
parents:
diff changeset
    72
    listWidget->addItem( "placeHolderH" );
hgs
parents:
diff changeset
    73
    listWidget->addItem( "placeHolderI" );
hgs
parents:
diff changeset
    74
    listWidget->addItem( "placeHolderJ" );
hgs
parents:
diff changeset
    75
    listWidget->addItem( "placeHolderK" );
hgs
parents:
diff changeset
    76
    listWidget->addItem( "placeHolderL" );
hgs
parents:
diff changeset
    77
    listWidget->addItem( "placeHolderM" );
hgs
parents:
diff changeset
    78
    listWidget->addItem( "placeHolderN" );
hgs
parents:
diff changeset
    79
    listWidget->addItem( "placeHolderO" );
hgs
parents:
diff changeset
    80
    listWidget->addItem( "placeHolderP" );
hgs
parents:
diff changeset
    81
    listWidget->addItem( "placeHolderQ" );
hgs
parents:
diff changeset
    82
    listWidget->addItem( "placeHolderR" );
hgs
parents:
diff changeset
    83
    listWidget->addItem( "placeHolderS" );
hgs
parents:
diff changeset
    84
    listWidget->addItem( "placeHolderT" );
hgs
parents:
diff changeset
    85
    listWidget->addItem( "placeHolderU" );
hgs
parents:
diff changeset
    86
    listWidget->addItem( "placeHolderV" );
hgs
parents:
diff changeset
    87
    listWidget->addItem( "placeHolderW" );
hgs
parents:
diff changeset
    88
    listWidget->addItem( "placeHolderX" );
hgs
parents:
diff changeset
    89
    listWidget->addItem( "placeHolderY" );
hgs
parents:
diff changeset
    90
    listWidget->addItem( "placeHolderZ" );
hgs
parents:
diff changeset
    91
hgs
parents:
diff changeset
    92
    connect(listWidget, SIGNAL(activated(HbListWidgetItem*)), this,SLOT(activatedListItem(HbListWidgetItem*)) );
hgs
parents:
diff changeset
    93
}
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
void TestMainWindow::activatedListItem(HbListWidgetItem *item)
hgs
parents:
diff changeset
    96
{
hgs
parents:
diff changeset
    97
    if( item->text().compare( getDir ) == 0 ) {
hgs
parents:
diff changeset
    98
        getExistingDirectory();
hgs
parents:
diff changeset
    99
    } else if( item->text().compare( getFile ) == 0 ) {
hgs
parents:
diff changeset
   100
        getOpenFileName();
hgs
parents:
diff changeset
   101
    } else if( item->text().compare( saveFile ) == 0 ) {
hgs
parents:
diff changeset
   102
       getSaveFileName();
hgs
parents:
diff changeset
   103
    } else if( item->text().compare( getDir_SetDir ) == 0 ) {
hgs
parents:
diff changeset
   104
        getExistingDirectory_SetDir();
hgs
parents:
diff changeset
   105
    } else if( item->text().compare( getFile_SetDir ) == 0 ) {
hgs
parents:
diff changeset
   106
       getOpenFileName_SetDir();
hgs
parents:
diff changeset
   107
    } else if( item->text().compare( saveFile_SetDir ) == 0 ) {
hgs
parents:
diff changeset
   108
        getSaveFileName_SetDir();
hgs
parents:
diff changeset
   109
    } else if( item->text().compare( getDir_SetFilter ) == 0 ) {
hgs
parents:
diff changeset
   110
        getExistingDirectory_SetFilter();
hgs
parents:
diff changeset
   111
    } else if( item->text().compare( getDir_SetFilter_AllDirs ) == 0 ) {
hgs
parents:
diff changeset
   112
        getExistingDirectory_SetFilter_AllDirs();
hgs
parents:
diff changeset
   113
    } else if( item->text().compare( getFile_SetFilter ) == 0 ) {
hgs
parents:
diff changeset
   114
        getOpenFileName_SetFilter();
hgs
parents:
diff changeset
   115
    } else if( item->text().compare( saveFile_SetFilter ) == 0 ) {
hgs
parents:
diff changeset
   116
       getSaveFileName_SetFilter();
hgs
parents:
diff changeset
   117
    }
hgs
parents:
diff changeset
   118
}
hgs
parents:
diff changeset
   119
hgs
parents:
diff changeset
   120
void TestMainWindow::getExistingDirectory()
hgs
parents:
diff changeset
   121
{
hgs
parents:
diff changeset
   122
    // getExistingDirectory with default parameter.
hgs
parents:
diff changeset
   123
    QString path = FmFileDialog::getExistingDirectory();
hgs
parents:
diff changeset
   124
    HbMessageBox::information( path );
hgs
parents:
diff changeset
   125
}
hgs
parents:
diff changeset
   126
void TestMainWindow::getOpenFileName()
hgs
parents:
diff changeset
   127
{
hgs
parents:
diff changeset
   128
    // getOpenFileName with default parameter.
hgs
parents:
diff changeset
   129
    QString path = FmFileDialog::getOpenFileName();
hgs
parents:
diff changeset
   130
    HbMessageBox::information( path );
hgs
parents:
diff changeset
   131
}
hgs
parents:
diff changeset
   132
void TestMainWindow::getSaveFileName()
hgs
parents:
diff changeset
   133
{
hgs
parents:
diff changeset
   134
    // getSaveFileName with default parameter.
hgs
parents:
diff changeset
   135
    QString path = FmFileDialog::getSaveFileName();
hgs
parents:
diff changeset
   136
    HbMessageBox::information( path );
hgs
parents:
diff changeset
   137
}
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
void TestMainWindow::getExistingDirectory_SetDir()
hgs
parents:
diff changeset
   140
{
hgs
parents:
diff changeset
   141
    // getExistingDirectory and set header & default Directory
hgs
parents:
diff changeset
   142
    QString path = FmFileDialog::getExistingDirectory( 0, "Look in:", "C:/Data/Images" );
hgs
parents:
diff changeset
   143
    HbMessageBox::information( path );
hgs
parents:
diff changeset
   144
}
hgs
parents:
diff changeset
   145
void TestMainWindow::getOpenFileName_SetDir()
hgs
parents:
diff changeset
   146
{
hgs
parents:
diff changeset
   147
    // getOpenFileName and set header & default Directory
hgs
parents:
diff changeset
   148
    QString path = FmFileDialog::getOpenFileName( 0, "Look in:", "C:/Data/Images" );
hgs
parents:
diff changeset
   149
    HbMessageBox::information( path );
hgs
parents:
diff changeset
   150
}
hgs
parents:
diff changeset
   151
void TestMainWindow::getSaveFileName_SetDir()
hgs
parents:
diff changeset
   152
{
hgs
parents:
diff changeset
   153
    // getSaveFileName and set header & default Directory
hgs
parents:
diff changeset
   154
    QString path = FmFileDialog::getSaveFileName( 0, "Look in:", "C:/Data/Images" );
hgs
parents:
diff changeset
   155
    HbMessageBox::information( path );
hgs
parents:
diff changeset
   156
}
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
void TestMainWindow::getExistingDirectory_SetFilter()
hgs
parents:
diff changeset
   159
{
hgs
parents:
diff changeset
   160
    // getExistingDirectory and set folder&file filter
hgs
parents:
diff changeset
   161
    QStringList filterList;
hgs
parents:
diff changeset
   162
    filterList<<"*data*"<<"*image*"<<"*sound*";
hgs
parents:
diff changeset
   163
    QString path = FmFileDialog::getExistingDirectory( 0, "Look in:", "", filterList );
hgs
parents:
diff changeset
   164
    HbMessageBox::information( path );
hgs
parents:
diff changeset
   165
}
hgs
parents:
diff changeset
   166
hgs
parents:
diff changeset
   167
void TestMainWindow::getExistingDirectory_SetFilter_AllDirs()
hgs
parents:
diff changeset
   168
{
hgs
parents:
diff changeset
   169
    // getExistingDirectory and set folder&file filter
hgs
parents:
diff changeset
   170
    QStringList filterList;
hgs
parents:
diff changeset
   171
    filterList<<"*data*"<<"*image*"<<"*sound*";
hgs
parents:
diff changeset
   172
    QString path = FmFileDialog::getExistingDirectory( 0, "Look in:", "", filterList, FmFileDialog::DisplayAllDirs );
hgs
parents:
diff changeset
   173
    HbMessageBox::information( path );
hgs
parents:
diff changeset
   174
}
hgs
parents:
diff changeset
   175
hgs
parents:
diff changeset
   176
void TestMainWindow::getOpenFileName_SetFilter()
hgs
parents:
diff changeset
   177
{
hgs
parents:
diff changeset
   178
    // getOpenFileName and set file filter
hgs
parents:
diff changeset
   179
    //Set DisplayAllDirs to display all folders, otherwise folders will also be filted.
hgs
parents:
diff changeset
   180
    QStringList filterList;
hgs
parents:
diff changeset
   181
    filterList<<"*.jpg"<<"*.gif"<<"*.png";
hgs
parents:
diff changeset
   182
    QString path = FmFileDialog::getOpenFileName( 0, "Look in:", "", filterList, FmFileDialog::DisplayAllDirs );
hgs
parents:
diff changeset
   183
    HbMessageBox::information( path );
hgs
parents:
diff changeset
   184
}
hgs
parents:
diff changeset
   185
void TestMainWindow::getSaveFileName_SetFilter()
hgs
parents:
diff changeset
   186
{
hgs
parents:
diff changeset
   187
    // getSaveFileName and set file filter
hgs
parents:
diff changeset
   188
    //Set DisplayAllDirs to display all folders, otherwise folders will also be filted.
hgs
parents:
diff changeset
   189
    QStringList filterList;
hgs
parents:
diff changeset
   190
    filterList<<"*.jpg"<<"*.gif"<<"*.png";
hgs
parents:
diff changeset
   191
    QString path = FmFileDialog::getSaveFileName( 0, "Look in:", "", filterList, FmFileDialog::DisplayAllDirs );
hgs
parents:
diff changeset
   192
    HbMessageBox::information( path );
hgs
parents:
diff changeset
   193
}