Class: PreviewWin
Constant Summary collapse
- ModeTbl =
{ /\.rb$/ => 'Ruby', /Rakefile$/ => 'Ruby', /\.(h|c|cpp)$/ => 'C++', /\.json$/ => 'JSON', /\.html?$/ => 'HTML', /\.xml$/ => 'XML', /\.(yml|yaml)$/ => 'YAML', /\.java$/ => 'Java', /\.js$/ => 'JavaScript', /\.css$/ => 'CSS', /\.py$/ => 'Python', /\.txt$/ => 'Normal', /^(\w+)$/i => 'Normal', }
- GroupName =
'PreviewWindow'
Instance Method Summary collapse
- #createWidget ⇒ Object
- #findMode(text) ⇒ Object
-
#initialize(parent = nil) ⇒ PreviewWin
constructor
A new instance of PreviewWin.
- #readSettings ⇒ Object
- #setFile(file) ⇒ Object
- #setText(title, text) ⇒ Object
- #writeSettings ⇒ Object
Constructor Details
#initialize(parent = nil) ⇒ PreviewWin
Returns a new instance of PreviewWin.
5 6 7 8 9 10 |
# File 'lib/previewwin.rb', line 5 def initialize(parent=nil) super(parent) createWidget readSettings end |
Instance Method Details
#createWidget ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/previewwin.rb', line 12 def createWidget @titleLabel = Qt::Label.new('') @textEditor = KTextEditor::EditorChooser::editor @closeBtn = KDE::PushButton.new(KDE::Icon.new('dialog-close'), \ i18n('Close')) do |w| connect(w, SIGNAL(:clicked), self, SLOT(:hide)) end @document = @textEditor.createDocument(nil) @textView = @document.createView(self) # layout lo = Qt::VBoxLayout.new lo.addWidgets('File Name:', @titleLabel, nil) lo.addWidget(@textView) lo.addWidgets(nil, @closeBtn) setLayout(lo) end |
#findMode(text) ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/previewwin.rb', line 45 def findMode(text) file = File.basename(text) m = ModeTbl.find do |k,v| k =~ file end m ? m[1] : 'Ruby' end |
#readSettings ⇒ Object
71 72 73 74 |
# File 'lib/previewwin.rb', line 71 def readSettings config = $config.group(GroupName) restoreGeometry(config.readEntry('windowState', saveGeometry)) end |
#setFile(file) ⇒ Object
63 64 65 66 67 68 |
# File 'lib/previewwin.rb', line 63 def setFile(file) @titleLabel.text = file @document.openUrl(KDE::Url.new(file)) @document.setReadWrite(false) show end |
#setText(title, text) ⇒ Object
53 54 55 56 57 58 59 60 61 |
# File 'lib/previewwin.rb', line 53 def setText(title, text) @titleLabel.text = title @document.setReadWrite(true) @document.setText(text.gsub(/\r\n/, "\n")) puts " Text mode = " + findMode(title) @document.setMode(findMode(title)) @document.setReadWrite(false) show end |