KDE slaví 30 let. Přesně před 30 lety, 14. října 1996, poslal Matthias Ettrich do diskusní skupiny comp.os.linux.misc zprávu, která započala historii projektu KDE. Důležité milníky jsou zobrazeny na časové ose.
Byl vydán Mozilla Firefox 158.0. Stejně jako Chrome 155 s podporou JPEG XL (test). Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 158 bude brzy k dispozici také na Flathubu a Snapcraftu.
Svobodný kancelářský balík ONLYOFFICE (Wikipedie) byl vydán ve verzi 10.0. Jak online Docs, tak i offline Desktop Editors. Přehled novinek také na YouTube.
Mozilla představuje Firefox Enterprise určený jako podnikový prohlížeč pro organizace s přísnými požadavky na bezpečnost, správu a dodržování předpisů. S profesionální podporou. Dostupný je zatím ve Francii, Německu, Rakousku a Švýcarsku.
Kybernetický útok zasáhl nejméně 150 supermarketů Intermarché a několik prodejen řetězců Leclerc a Coopérative U. Chladicí jednotky napadených obchodních domů byly nastaveny na nepřetržité odmrazování a teplota v nich mnohdy vystouala až nad 50°C. Škody napáchané na chlazeném a mraženém zboží budou patrně dosahovat miliónů eur.
… více »Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).
V červnu byla představena aplikace Myna pro převod řeči na text v prostředí desktopu Ubuntu. Včera byla Myna zpřístupněna širší komunitě Ubuntu formou technologické ukázky dostupné v Ubuntu 24.04 LTS, Ubuntu 26.04 LTS a Ubuntu 26.10 s GNOME na Waylandu.
Ubuntu 27.04 bude Tenacious T-Rex.
Byla vydána nová verze 2026.4.0 "Never-slop" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. ScummVM oslavil 25 let. Verze 0.0.1 vyšla 8. října 2001.
Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a
… více »
typedef struct FilesPanelEntry{
Glib::ustring name;
Glib::ustring ext;
Glib::ustring size;
Glib::ustring date;
Glib::ustring rwx;
Glib::ustring owner;
Glib::ustring group;
};
Pak mám objekt s TreeViewem. Objekt má kromě jiných i tyto metody metody:
virtual void addEntry( const FilesPanelEntry& entry ); virtual void clear(); virtual off64_t count(); virtual bool getEntry( off64_t n, FilesPanelEntry& entry ); virtual bool setEntry( off64_t n, FilesPanelEntry& entry );Metody získávají/nastavují jednotlivé položky TreeViewu. Ve FilesPanelEntry::size můžou být tyto hodnoty:
<DIR> = adresář <BLKD> = blokové zařízení <CHRD> = znakové zařízení <FIFO> = fifo Velikost = souborProtože mi to už nemyslí, potřebuju si dát pauzu. Jenže zas nechci zbytečně ztrácet čas, a proto bych od někoho potřeboval dopsat fci na seřazení těch souborů. První by měly být adresáře seřazené dle abecedy, poté soubory dle abecedy, poté bloková zařízení, znaková zařízení a nakonec FIFO. Potřeboval bych to doplnit sem:
void JXPCommander::sortFiles( bool left )
{
FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight);
bool orderChanged = true;
FilesPanelEntry e1,e2;
while(orderChanged){
orderChanged = false;
for( off64_t i = 0; i < fp->count()-1; ++i )
{
fp->getEntry( i, e1 );
fp->getEntry( i+1, e2 );
/*
* Tu proveďte nějaké ty porovnání, v případě
* že mají být položky prohozeno tak proveďte:
*
* fp->setEntry( i,e2 );
* fp->setEntry( i+1,e1 );
*
* a nezapomeňte nastavit orderChanged na true.
*
* Stringy se nebojte porovnávat znaménky < a >
* o utf8 se již stará sama třída Glib::ustring
*/
}
}
}
Tiskni
Sdílej:
)
jinak je to zajímavý nápad, jak něco programovat
jo a tohle :
void JXPCommander::sortFiles( bool left )
{
FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight);
bych neudělal snad ani já, trochu více obecnosti bych do toho vrazil
a na wiki ještě jsem žádný odkaz na zdrojáky nenašel.
void JXPCommander::sortFiles( bool left )
{
FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight);
bool orderChanged = true;
FilesPanelEntry e1,e2;
int max = fp->count()-1;
while(orderChanged){
orderChanged = false;
for( off64_t i = 0; i < max; ++i )
{
fp->getEntry( i, e1 );
fp->getEntry( i+1, e2 );
if(e1.name > e2.name) { // pro razeni vzestupne podle jmena
fp->setEntry(i, e2);
fp->setEntry(i+1, e1);
orderChanged = true;
}
}
max--;
}
}
- ale doporucoval bych trochu zagooglovat a nastudovat quick-sort...
nebo to skončí tak, že uspořádaj irc chat o tom, jakým způsobem budou vybírat "medián"
vector, ale také deque a list, když už jsme u kontejnerů tohoto typu. Nelze samozřejmě také opomenout set, multiset, map a multimap (a další více či méně užitečné věci). Kdo se toho dobrovolně vzdává, o hodně přichází.