Class: FolderSelectorLineEdit

Inherits:
Qt::Widget
  • Object
show all
Defined in:
lib/mylibs.rb

Overview


Mandriva doesn't include kio smoke library.
 FolderSelectorLineEdit substitute KDE::UrlRequester

Direct Known Subclasses

FileSelectorLineEdit

Instance Method Summary collapse

Constructor Details

#initialize(dir = nil, parent = nil) ⇒ FolderSelectorLineEdit

Returns a new instance of FolderSelectorLineEdit.



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/mylibs.rb', line 132

def initialize(dir=nil, parent=nil)
    super(parent)

    # widgets
    @lineEdit = KDE::LineEdit.new
    @lineEdit.text = dir if dir
    @dirSelectBtn = KDE::PushButton.new(KDE::Icon.new('folder'),'')

    # connect
    connect(@dirSelectBtn, SIGNAL(:clicked), self, SLOT(:openSelectDlg))

    # layout
    lo = Qt::HBoxLayout.new do |l|
        l.setContentsMargins(0,0,0,0)
        l.addWidgets(@lineEdit, @dirSelectBtn)
    end
    setLayout(lo)
end

Instance Method Details

#folderObject Also known as: text



164
165
166
# File 'lib/mylibs.rb', line 164

def folder
    @lineEdit.text
end

#folder=(dir) ⇒ Object



170
171
172
# File 'lib/mylibs.rb', line 170

def folder=(dir)
    @lineEdit.text = dir
end

#objectName=(name) ⇒ Object

for settings manager.



160
161
162
# File 'lib/mylibs.rb', line 160

def objectName=(name)
    @lineEdit.objectName = name
end

#openSelectDlgObject



152
153
154
155
156
157
# File 'lib/mylibs.rb', line 152

def openSelectDlg
    path = Qt::FileDialog::getExistingDirectory(self,'select folder', @lineEdit.text)
    unless !path || path.empty?
        @lineEdit.text = path
    end
end