Byla vydána Java 26 / JDK 26. Nových vlastností (JEP - JDK Enhancement Proposal) je 10. Odstraněno bylo Applet API.
Byla vydána nová verze 260 správce systému a služeb systemd (Wikipedie, GitHub). Odstraněna byla podpora skriptů System V. Aktualizovány byly závislosti. Minimální verze Linuxu z 5.4 na 5.10, OpenSSL z 1.1.0 na 3.0.0, Pythonu z 3.7.0 na 3.9.0…
Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.
Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,
… více »Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.
SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.
Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační
… více »PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují
… více »GIMP 3.2 byl oficiálně vydán (Mastodon, 𝕏). Přehled novinek v poznámkách k vydání.
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í.