Development/Tutorials/Plasma4/Ruby/SimplePasteAppletCompleted

    From KDE TechBase

    This is what the completed code for the Simple Paste Applet looks like:

    require 'plasma_applet'
     
    module RubyTest
      class Main < PlasmaScripting::Applet
        def initialize parent
          super parent
        end
     
        def init
          set_minimum_size 150, 150
     
          layout = Qt::GraphicsLinearLayout.new Qt::Vertical, self
          self.layout = layout
          
          # Three items being laid out:
          
          label = Plasma::Label.new self
          label.text = 'This plasmoid will copy the text you enter below to the clipboard.'
          layout.add_item label
          
          line_edit = Plasma::LineEdit.new self
          begin # only possible in Plasma 4.3 and up 
            line_edit.clear_button_shown = true
          rescue
          end
          layout.add_item line_edit
          
          button = Plasma::PushButton.new self
          button.text = 'Copy to clipboard'
          layout.add_item button
          
          # The layout is done now comes the action:
          
          button.connect(SIGNAL(:clicked)) do
            Qt::Application.clipboard.text = line_edit.text
          end
          
          line_edit.connect(SIGNAL(:returnPressed)) do
            Qt::Application.clipboard.text = line_edit.text
          end
        end
        
      end
    end