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

в 20:51, , рубрики: linux, mysql, полезные фичи, метки:

Куда только не заводили поиски идеального гуя для 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://127.0.0.1/dbninja/' );
$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://127.0.0.1/dbninja/"));
}

Результат

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

Автор: kloppspb

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js