Miojo Notepad 0.3
Publicado por Artur Gaspar (última atualização em 08/01/2010)
[ Hits: 5.883 ]
Download miojo-notepad-0.3.tar.gz
Um pequeno editor de textos em Python/PyQt4. Requer Python 2.6, PyQt4 e KDE (para o instalador). Descompacte em uma pasta e execute o install.sh
#!/usr/bin/python # -*- coding: iso-8859-15 -*- import sys, codecs from PyQt4 import QtGui, QtCore class Notepad(QtGui.QMainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) self.resize(350, 250) self.setWindowTitle('Miojo Notepad') caixa_texto = QtGui.QTextEdit() self.setCentralWidget(caixa_texto) self.setWindowIcon(QtGui.QIcon('/usr/share/pixmaps/miojo.jpg')) botao_abrir = QtGui.QAction(QtGui.QIcon('/usr/share/icons/default.kde4/32x32/actions/document-open.png'), 'Abrir', self) botao_abrir.setShortcut('Ctrl+O') botao_abrir.setStatusTip('Abre um arquivo') botao_salvar = QtGui.QAction(QtGui.QIcon('/usr/share/icons/default.kde4/32x32/actions/document-save.png'), 'Salvar', self) botao_salvar.setShortcut('Ctrl+S') botao_salvar.setStatusTip('Salva o arquivo aberto') botao_fechar = QtGui.QAction(QtGui.QIcon('/usr/share/icons/default.kde4/32x32/actions/application-exit.png'), 'Fechar', self) botao_fechar.setShortcut('Ctrl+Q') botao_fechar.setStatusTip('Fecha') self.statusBar() menubar = self.menuBar() menu = menubar.addMenu('&Arquivo') menu.addAction(botao_abrir) menu.addAction(botao_salvar) menu.addSeparator() menu.addAction(botao_fechar) toolbar = self.addToolBar('Barra de Ferramentas') toolbar.addAction(botao_abrir) toolbar.addAction(botao_salvar) self.watcher = QtCore.QFileSystemWatcher(self) self.connect(botao_fechar, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()')) self.connect(botao_abrir, QtCore.SIGNAL('triggered()'), self.abrir) self.connect(botao_fechar, QtCore.SIGNAL('triggered()'), self.salvar) self.connect(caixa_texto, QtCore.SIGNAL("textChanged()"), self.habilita_salvar) self.connect(self.watcher, QtCore.SIGNAL("fileChanged(const QString&)"), self.arquivo_alterado) def msgbox(self, li = [], texto = ""): mensagem = QtGui.QMessageBox(self) mensagem.setText(texto) for i in range(0, len(li)): mensagem.addButton(li[int(i)], QtGui.QMessageBox.ActionRole) mensagem.exec_() self.resposta = mensagem.clickedButton().text() def abrir(self): self.resposta = False SALVAR = "Salvar" DESCARTAR = "Descartar" CANCELAR = "Cancelar" if self.botao_salvar.isEnabled() and self.nomearquivo: msgbox(li = [SALVAR, DESCARTAR, CANCELAR], texto = "O documento '" + str(self.nomearquivo) + "' foi modificado.\n Deseja salvar as mudanças ou descartá-las?", titulo = "Miojo Notepad") if self.resposta == SALVAR: self.salvar if self.resposta != CANCELAR: try: self.arquivo = QtGui.QFileDialog(self) self.nomearquivo = self.arquivo.getOpenFileName() self.texto = codecs.open(self.nomearquivo, 'r', 'utf-8').read() self.ui.caixa_texto.setPlainText(self.texto) self.ui.botao_salvar.setEnabled(False) self.watcher.addPath(self.nomearquivo) except: pass def salvar(self): textow = codecs.open(self.nomearquivo, 'w', 'utf-8') textow.write(self.ui.caixa_texto.toPlainText()) textow.close self.ui.botao_salvar.setEnabled(False) def habilita_salvar(self): self.ui.botao_salvar.setEnabled(True) def arquivo_alterado(self): self.resposta = False SOBREESCREVER = "Sobreescrever" IGNORAR = "Ignorar" RECARREGAR = "Recarregar" msgbox(li = [SOBREESCREVER, IGNORAR, RECARREGAR], texto = "O documento '" + str(self.nomearquivo) + "' foi modificado por outro programa.\n O que você deseja fazer?", titulo = "Miojo Notepad") if self.resposta == SOBREESCREVER: self.salvar elif resposta == RECARREGAR: self.ui.caixa_texto.setPlainText(self.texto) self.ui.botao_salvar.setEnabled(False) app = QtGui.QApplication(sys.argv) main = Notepad() main.show() sys.exit(app.exec_())
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
VMs e Interfaces de Rede desapareceram (12)
Instalação do drive do adaptador wiffi (7)