Takie małe wielkanocne jaja ze strony autorów… Jak chcesz zobaczyć utwórz makro i w jego treści wpisz:
ko.eggs.boing ();
i uruchom je ^^
Takie małe wielkanocne jaja ze strony autorów… Jak chcesz zobaczyć utwórz makro i w jego treści wpisz:
ko.eggs.boing ();
i uruchom je ^^
![]()
Bespin to edytor kodu online będący kolejnym eksperymentem programistów z Mozilla Labs. O wydaniu pierwszej wersji edytora, programiści poinformowali dnia wczorajszego na swoim blogu.
Edytor w głównej mierze bazuje na nowości w HTML5: znaczniku canvas. Cechuje się, mimo fazy eksperymentalnej, dużą szybkością (nawet gdy edytujemy bardzo duży plik) oraz stabilnością. Edytor zapewnia, jak na razie, podstawową funkcjonalnością pomocą przy tworzeniu kodu: kolorowanie składni (JavaScript, HTML, CSS), numerowaniem linii, podgląd edytowanego pliku w nowym oknie przeglądarki.
Edytor posiada również tryb komend z podpowiadaniem składni. Komendy między innymi pozwalają na szybkie przechodzenie do wybranej linii, usuwanie białych znaków, zastępowanie wybranej frazy tekstu czy zarządzaniem plikami projektu.
Edytor można samodzielnie przetestować pod adresem https://bespin.mozilla.com, po błyskawicznej, darmowej rejestracji…
Więcej informacji na stronie projektu lub na stronie laboratorium Mozilli.
Odczyt praw dostępu realizujemy, analogicznie jak w przypadku innych atrybutów pliku, poprzez metode get_attribute_boolean z klasy Gio::FileInfo przekazujać w parametrze ciąg znaków z nazwą atrybutu który nas interesuje.
W przypadku praw dostępu do pliku będzie to access::can-rename, access::can-delete, access::can-trash, access::can-read, access:can-write, access::can-execute oznaczające kolejno prawo do zmiany nazwy pliku, usunięcia, przeniesienia do kosza, odczytu z pliku, zapisu do pliku i uruchomienia. Wartość zwrócona przez tą metode odpowiada danemu prawu do pliku użytkownika który uruchomił aplikacje.
Przykład aplikacji sprawadzącej prawa dostępu do pliku z ścieżki podanej w prametrze…
#include <iostream.h>
#include <giomm.h>
int main(int argc, char *argv[]) {
Gio::init ();
if (argc <= 1) {
std::cout << "Niepodano pliku...\n";
return -1;
}
Glib::RefPtr<Gio::File> f = Gio::File::create_for_path (argv[1]);
if (f)
{
Glib::RefPtr<Gio::FileInfo> info = f->query_info ();
std::cout << "Mogę zmieniać nazwe ? \t" << info->get_attribute_boolean ("access::can-rename") << std::endl;
std::cout << "Mogę usunąć ? \t" << info->get_attribute_boolean ("access::can-delete") << std::endl;
std::cout << "Mogę przenieść do kosza ?\t" << info->get_attribute_boolean ("access::can-trash") << std::endl;
std::cout << "Mogę odczytać zawartość ?\t" << info->get_attribute_boolean ("access::can-read") << std::endl;
std::cout << "Mogę zapisywać do pliku ?\t" << info->get_attribute_boolean ("access:can-write") << std::endl;
std::cout << "Mogę wykonywać plik ? \t" << info->get_attribute_boolean ("access::can-execute") << std::endl;
}
return 0;
}
Kompilacja:
g++ `pkg-config giomm-2.4 –cflags –libs`