File: OpenWithDialog.h

package info (click to toggle)
qtop 2.3.4-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,976 kB
  • sloc: cpp: 40,477; makefile: 7
file content (131 lines) | stat: -rw-r--r-- 2,789 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#ifndef OpenWithDialog_h
#define OpenWithDialog_h

/******************************************************************************
*
* Copyright (C) 2002 Hugo PEREIRA <mailto: hugo.pereira@free.fr>
*
* This is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option) any later
* version.
*
* This software is distributed in the hope that it will be useful, but WITHOUT
* Any WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along with
* this program.  If not, see <http://www.gnu.org/licenses/>.
*
*******************************************************************************/

#include "CustomDialog.h"
#include "File.h"
#include "OpenWithComboBox.h"

#include <QIcon>

//* QDialog used to commit selected files
class OpenWithDialog: public CustomDialog
{

    Q_OBJECT

    public:

    //* constructor
    explicit OpenWithDialog( QWidget* );

    //*@name accessors
    //@{

    //* combo box
    OpenWithComboBox& comboBox() const
    { return *comboBox_; }

    //* true if command is valid
    bool isCommandValid() const;

    //* true if command is default
    bool isCommandDefault() const;

    //* current command
    File command() const;

    //@}

    //*@name modifiers
    //@{

    //* true if opening is done automatically when closing dialog
    void setAutoOpen( bool value )
    { autoOpen_ = value; }

    //* file
    void setFile( const File& value )
    {
        isLink_ = false;
        files_.clear();
        files_.append( value );
    }

    //* link
    void setLink( const File& value )
    {
        isLink_ = true;
        files_.clear();
        files_.append( value );
    }

    //* file
    void setFiles( const File::List value )
    {
        isLink_ = false;
        files_ = value;
    }

    //* icon
    void setIcon( const QIcon& value )
    { icon_ = value; }

    //* option name
    void setOptionName( const QString& value )
    {
        optionName_ = value;
        CustomDialog::setOptionName( QString( "%1_DIALOG" ).arg( value ) );
    }

    //* realize
    void realizeWidget();

    //@}

    protected Q_SLOTS:

    //* open file
    void _open();

    private:

    //* file
    File::List files_;

    //* icon
    QIcon icon_;

    //* true if opening is done automatically, when closing the dialog
    bool autoOpen_ = true;

    //* true if link
    bool isLink_ = false;

    //* option name
    QString optionName_;

    //* combobox
    OpenWithComboBox* comboBox_ = nullptr;

};

#endif