...

воскресенье, 22 июня 2014 г.

[recovery mode] DbNinja, MySQL и комфорт, Gtk, Qt и все-все-все

Куда только не заводили поиски идеального гуя для MySQL под Linux :)

Мой личный рейтинг пока выглядит так:



  1. HeidiSQL под вайном

  2. Valentina Studio

  3. MySQL Workbench


Web-based решения особо не интересовали по ряду причин. Но недавно наткнулся на проект DbNinja, и стало интересно. Что оно умеет можно посмотреть на страницах проекта, например, тут. Кому-то хватит, кому-то мало, но я о том, как избавиться от браузера, и открывать ЭТО в отдельном окошке, без лишних рюшек и бантиков.


На самом деле всё просто. Устанавиливаем нинзю, настраиваем. И пишем простенькое:



#!/usr/bin/perl
use strict;
use Gtk2 -init;
use Gtk2::WebKit;
use FindBin qw/$RealBin/;

my $window = Gtk2::Window->new;
$window->set_default_size( 1280, 768 );
$window->set_default_icon_from_file( $RealBin.'/dbninja.png');
$window->set_title('DbNinja');
$window->signal_connect( destroy => sub { Gtk2->main_quit } );

my $sw = Gtk2::ScrolledWindow->new;
my $view = Gtk2::WebKit::WebView->new;

$sw->add( $view );
$window->add( $sw );
$view->open( 'http://ift.tt/1p3QzPk' );
$window->show_all;
Gtk2->main;


Всё! Фактически получается отдельное приложение в отдельном окне, ничуть не похожем на браузер.


Ну, допустим, не у всех есть перл. Но у кого-то есть Qt. Не беда, создание аналогичной программы в Qt Creator ничуть не сложней. Код примитивен аж до безобразия (несущественные детали опускаю, атрибуты прописаны в соответствующих ресурсах):



MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->resize(1280, 768);
QWebView *webView = new QWebView;
QVBoxLayout *layout = new QVBoxLayout;
this->centralWidget()->setLayout(layout);
layout->addWidget(webView);
webView->load(QUrl("http://ift.tt/1p3QzPk"));
}


Результат


Вот как-то так. Мелочь, а приятно :)


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий