From 34e3453f24f8b17ed70eb4574330e3e70bcd1daf Mon Sep 17 00:00:00 2001 From: Humdinger Date: Mon, 6 Aug 2012 18:17:56 +0200 Subject: [PATCH 01/34] Added accidentally removed "!=0" back... --- src/apps/installer/InstallerWindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps/installer/InstallerWindow.cpp b/src/apps/installer/InstallerWindow.cpp index cc639ea12a..4dd4899640 100644 --- a/src/apps/installer/InstallerWindow.cpp +++ b/src/apps/installer/InstallerWindow.cpp @@ -897,7 +897,7 @@ InstallerWindow::_QuitCopyEngine(bool askUser) B_TRANSLATE_COMMENT("Stop", "In alert after pressing Stop"), 0, B_WIDTH_AS_USUAL, B_STOP_ALERT); alert->SetShortcut(1, B_ESCAPE); - quit = alert->Go(); + quit = alert->Go() != 0; } if (quit) { From 4d99b24ded47a36bf813a71d1d658949daef4438 Mon Sep 17 00:00:00 2001 From: Humdinger Date: Mon, 6 Aug 2012 18:21:14 +0200 Subject: [PATCH 02/34] Removed Mr.Peeps from a ResEdit alert. Thanks Eagleeye Ryan! --- src/apps/resedit/BitmapView.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps/resedit/BitmapView.cpp b/src/apps/resedit/BitmapView.cpp index 007fc60459..4002b607a7 100644 --- a/src/apps/resedit/BitmapView.cpp +++ b/src/apps/resedit/BitmapView.cpp @@ -250,7 +250,7 @@ BitmapView::MessageReceived(BMessage *msg) switch (msg->what) { case M_REMOVE_IMAGE: { - BAlert *alert = new BAlert("Mr. Peeps!", "This cannot be undone. " + BAlert *alert = new BAlert("ResEdit", "This cannot be undone. " "Remove the image?", "Remove", "Cancel"); alert->SetShortcut(1, B_ESCAPE); int32 value = alert->Go(); From 35dc734b484f6569be670a4c8a4f719b107cd6ed Mon Sep 17 00:00:00 2001 From: ahenriksson Date: Tue, 24 Jul 2012 12:37:53 +0200 Subject: [PATCH 03/34] Single values are allowed in regular duplicate nodes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not in duplicate fragments, however. This oversight in hrev44359 made checkfs incorrectly rebuild valid indices, causing #8762. Signed-off-by: Axel Dörfler --- src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp b/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp index 51b896a17b..82b00469c5 100644 --- a/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp +++ b/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp @@ -2350,18 +2350,21 @@ BPlusTree::_ValidateChildren(TreeCheck& check, uint32 level, off_t offset, check.SetVisitedFragment(duplicateOffset); duplicate_array* array; + int32 minSize; int32 maxSize; if (isFragmentNode) { array = node->FragmentAt( bplustree_node::FragmentIndex(childOffset)); + minSize = 2; maxSize = NUM_FRAGMENT_VALUES; } else { array = node->DuplicateArray(); + minSize = 1; maxSize = NUM_DUPLICATE_VALUES; } int32 arrayCount = array->Count(); - if (arrayCount <= 1 || arrayCount > maxSize) { + if (arrayCount < minSize || arrayCount > maxSize) { dprintf("inode %" B_PRIdOFF ": duplicate at %" B_PRIdOFF " has invalid array size %" B_PRId32 "!\n", fStream->ID(), duplicateOffset, arrayCount); From b292f6936a62f86a0e4979258a21a1f4636a64b9 Mon Sep 17 00:00:00 2001 From: Philippe Houdoin Date: Mon, 6 Aug 2012 21:53:25 +0200 Subject: [PATCH 04/34] Fix typo, spotted by ttcoder. Thanks. --- src/apps/magnify/Magnify.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps/magnify/Magnify.cpp b/src/apps/magnify/Magnify.cpp index 2c72130d00..954196a2ff 100644 --- a/src/apps/magnify/Magnify.cpp +++ b/src/apps/magnify/Magnify.cpp @@ -914,7 +914,7 @@ TInfoView::Draw(BRect updateRect) color = fMagView->SelectionColor(); char str[64]; snprintf(str, sizeof(str), "R: %i G: %i B: %i (#%02x%02x%02x)", - color.red, color.green, color.blue, color.red, color.green, color.red); + color.red, color.green, color.blue, color.red, color.green, color.blue); MovePenTo(10, fFontHeight*2+5); invalRect.Set(10, fFontHeight+7, 10 + StringWidth(fRGBStr), fFontHeight*2+7); From d92959ab8b825c30ed46d42fcd9dbd9b531332ad Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Mon, 6 Aug 2012 14:54:47 -0500 Subject: [PATCH 05/34] radeon_hd: add DisplayPort debugging * Commented out by default * Shows DisplayPort status info for each connector post-mode change (as DP properies are configured on mode change once we know the pixel clock) --- .../accelerants/radeon_hd/displayport.cpp | 44 +++++++++++++++++++ .../accelerants/radeon_hd/displayport.h | 1 + src/add-ons/accelerants/radeon_hd/mode.cpp | 2 + 3 files changed, 47 insertions(+) diff --git a/src/add-ons/accelerants/radeon_hd/displayport.cpp b/src/add-ons/accelerants/radeon_hd/displayport.cpp index b442ab26d1..4be5968480 100644 --- a/src/add-ons/accelerants/radeon_hd/displayport.cpp +++ b/src/add-ons/accelerants/radeon_hd/displayport.cpp @@ -857,3 +857,47 @@ dp_link_train(uint32 connectorIndex, display_mode* mode) return B_OK; } + + +void +debug_dp_info() +{ + ERROR("Current DisplayPort Info =================\n"); + for (uint32 id = 0; id < ATOM_MAX_SUPPORTED_DEVICE; id++) { + if (gConnector[id]->valid == true) { + dp_info* dp = &gConnector[id]->dpInfo; + ERROR("Connector #%" B_PRIu32 ") DP: %s\n", id, + dp->valid ? "true" : "false"); + + if (!dp->valid) + continue; + ERROR(" + DP Config Data\n"); + ERROR(" - max lane count: %d\n", + dp->config[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK); + ERROR(" - max link rate: %d\n", + dp->config[DP_MAX_LINK_RATE]); + ERROR(" - receiver port count: %d\n", + dp->config[DP_NORP] & DP_NORP_MASK); + ERROR(" - downstream port present: %s\n", + (dp->config[DP_DOWNSTREAMPORT] & DP_DOWNSTREAMPORT_EN) + ? "yes" : "no"); + ERROR(" - downstream port count: %d\n", + dp->config[DP_DOWNSTREAMPORT_COUNT] + & DP_DOWNSTREAMPORT_COUNT_MASK); + ERROR(" + Training\n"); + ERROR(" - use encoder: %s\n", + dp->trainingUseEncoder ? "true" : "false"); + ERROR(" - attempts: %" B_PRIu8 "\n", + dp->trainingAttempts); + ERROR(" - delay: %d\n", + dp->trainingReadInterval); + ERROR(" + Data\n"); + ERROR(" - auxPin: 0x%" B_PRIX32"\n", dp->auxPin); + ERROR(" + Video\n"); + ERROR(" - laneCount: %d\n", dp->laneCount); + ERROR(" - linkRate: %" B_PRIu32 "\n", + dp->linkRate); + } + } + ERROR("==========================================\n"); +} diff --git a/src/add-ons/accelerants/radeon_hd/displayport.h b/src/add-ons/accelerants/radeon_hd/displayport.h index fe5f3b8d5e..4752dc22df 100644 --- a/src/add-ons/accelerants/radeon_hd/displayport.h +++ b/src/add-ons/accelerants/radeon_hd/displayport.h @@ -40,5 +40,6 @@ status_t dp_link_train(uint32 connectorIndex, display_mode* mode); status_t dp_link_train_cr(uint32 connectorIndex); status_t dp_link_train_ce(uint32 connectorIndex); +void debug_dp_info(); #endif /* RADEON_HD_DISPLAYPORT_H */ diff --git a/src/add-ons/accelerants/radeon_hd/mode.cpp b/src/add-ons/accelerants/radeon_hd/mode.cpp index 03176397a4..afa9ed02cc 100644 --- a/src/add-ons/accelerants/radeon_hd/mode.cpp +++ b/src/add-ons/accelerants/radeon_hd/mode.cpp @@ -221,6 +221,8 @@ radeon_set_display_mode(display_mode* mode) } // for debugging + // debug_dp_info(); + TRACE("D1CRTC_STATUS Value: 0x%X\n", Read32(CRT, AVIVO_D1CRTC_STATUS)); TRACE("D2CRTC_STATUS Value: 0x%X\n", From bef63a44421072d3271b2b8f2b5053ef4d3a5467 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Mon, 6 Aug 2012 15:04:12 -0500 Subject: [PATCH 06/34] radeon_hd: fix cosmetic encoder order * While Travis is listed before Nutmeg in ObjectID.h, their values are reversed. --- src/add-ons/accelerants/radeon_hd/encoder.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/accelerants/radeon_hd/encoder.cpp b/src/add-ons/accelerants/radeon_hd/encoder.cpp index 52a3beb3bd..932dccf642 100644 --- a/src/add-ons/accelerants/radeon_hd/encoder.cpp +++ b/src/add-ons/accelerants/radeon_hd/encoder.cpp @@ -1849,8 +1849,8 @@ static const char* encoder_name_matrix[37] = { "Internal Kaleidoscope LVTMA", "Internal Kaleidoscope UNIPHY1", "Internal Kaleidoscope UNIPHY2", - "External Travis Bridge", "External Nutmeg Bridge", + "External Travis Bridge", "Internal Kaleidoscope VCE" }; From 14b654326dc9c4b4ff38811672eb53e6723eece3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Tue, 7 Aug 2012 00:45:08 +0200 Subject: [PATCH 07/34] ffmpeg: switch to 0.11.1 --- build/jam/OptionalBuildFeatures | 4 +- .../media/plugins/ffmpeg/AVCodecEncoder.cpp | 30 +++++------ .../media/plugins/ffmpeg/AVFormatReader.cpp | 16 +++--- .../media/plugins/ffmpeg/AVFormatWriter.cpp | 51 +++++++++---------- 4 files changed, 50 insertions(+), 51 deletions(-) diff --git a/build/jam/OptionalBuildFeatures b/build/jam/OptionalBuildFeatures index cdd17eb11f..218b80244e 100644 --- a/build/jam/OptionalBuildFeatures +++ b/build/jam/OptionalBuildFeatures @@ -224,14 +224,14 @@ if $(TARGET_ARCH) = x86 { local ffmpegBaseURL = $(baseURL)/lib ; if $(TARGET_ARCH) = x86 { if $(HAIKU_GCC_VERSION[1]) >= 4 { - HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-x86-gcc4-2012-03-28.zip ; + HAIKU_FFMPEG_FILE = ffmpeg-0.11.1-x86-gcc4-2012-08-07.zip ; HAIKU_SPEEX_FILE = speex-1.2rc1-x86-gcc4-2012-03-12.zip ; HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-x86-gcc4-2012-03-12.zip ; HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-x86-gcc4-2012-03-12.zip ; HAIKU_LIBOGG_FILE = libogg-1.3.0-x86-gcc4-2012-03-12.zip ; HAIKU_LIBVPX_FILE = libvpx-1.0.0-x86-gcc4-2012-03-14.zip ; } else { - HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-x86-gcc2-2012-03-28.zip ; + HAIKU_FFMPEG_FILE = ffmpeg-0.11.1-x86-gcc2-2012-08-06.zip ; HAIKU_SPEEX_FILE = speex-1.2rc1-x86-gcc2-2012-03-11.zip ; HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-x86-gcc2-2012-03-11.zip ; HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-x86-gcc2-2012-03-11.zip ; diff --git a/src/add-ons/media/plugins/ffmpeg/AVCodecEncoder.cpp b/src/add-ons/media/plugins/ffmpeg/AVCodecEncoder.cpp index 58b26cc946..141962c730 100644 --- a/src/add-ons/media/plugins/ffmpeg/AVCodecEncoder.cpp +++ b/src/add-ons/media/plugins/ffmpeg/AVCodecEncoder.cpp @@ -42,7 +42,7 @@ AVCodecEncoder::AVCodecEncoder(uint32 codecID, int bitRateScale) fBitRateScale(bitRateScale), fCodecID((enum CodecID)codecID), fCodec(NULL), - fOwnContext(avcodec_alloc_context()), + fOwnContext(avcodec_alloc_context3(NULL)), fContext(fOwnContext), fCodecInitStatus(CODEC_INIT_NEEDED), @@ -368,19 +368,19 @@ AVCodecEncoder::_Setup() // sample format switch (fInputFormat.u.raw_audio.format) { case media_raw_audio_format::B_AUDIO_FLOAT: - fContext->sample_fmt = SAMPLE_FMT_FLT; + fContext->sample_fmt = AV_SAMPLE_FMT_FLT; break; case media_raw_audio_format::B_AUDIO_DOUBLE: - fContext->sample_fmt = SAMPLE_FMT_DBL; + fContext->sample_fmt = AV_SAMPLE_FMT_DBL; break; case media_raw_audio_format::B_AUDIO_INT: - fContext->sample_fmt = SAMPLE_FMT_S32; + fContext->sample_fmt = AV_SAMPLE_FMT_S32; break; case media_raw_audio_format::B_AUDIO_SHORT: - fContext->sample_fmt = SAMPLE_FMT_S16; + fContext->sample_fmt = AV_SAMPLE_FMT_S16; break; case media_raw_audio_format::B_AUDIO_UCHAR: - fContext->sample_fmt = SAMPLE_FMT_U8; + fContext->sample_fmt = AV_SAMPLE_FMT_U8; break; case media_raw_audio_format::B_AUDIO_CHAR: @@ -393,28 +393,28 @@ AVCodecEncoder::_Setup() switch (fInputFormat.u.raw_audio.channel_count) { default: case 2: - fContext->channel_layout = CH_LAYOUT_STEREO; + fContext->channel_layout = AV_CH_LAYOUT_STEREO; break; case 1: - fContext->channel_layout = CH_LAYOUT_MONO; + fContext->channel_layout = AV_CH_LAYOUT_MONO; break; case 3: - fContext->channel_layout = CH_LAYOUT_SURROUND; + fContext->channel_layout = AV_CH_LAYOUT_SURROUND; break; case 4: - fContext->channel_layout = CH_LAYOUT_QUAD; + fContext->channel_layout = AV_CH_LAYOUT_QUAD; break; case 5: - fContext->channel_layout = CH_LAYOUT_5POINT0; + fContext->channel_layout = AV_CH_LAYOUT_5POINT0; break; case 6: - fContext->channel_layout = CH_LAYOUT_5POINT1; + fContext->channel_layout = AV_CH_LAYOUT_5POINT1; break; case 8: - fContext->channel_layout = CH_LAYOUT_7POINT1; + fContext->channel_layout = AV_CH_LAYOUT_7POINT1; break; case 10: - fContext->channel_layout = CH_LAYOUT_7POINT1_WIDE; + fContext->channel_layout = AV_CH_LAYOUT_7POINT1_WIDE; break; } } else { @@ -492,7 +492,7 @@ AVCodecEncoder::_OpenCodecIfNeeded() return false; // Open the codec - int result = avcodec_open(fContext, fCodec); + int result = avcodec_open2(fContext, fCodec, NULL); if (result >= 0) fCodecInitStatus = CODEC_INIT_DONE; else diff --git a/src/add-ons/media/plugins/ffmpeg/AVFormatReader.cpp b/src/add-ons/media/plugins/ffmpeg/AVFormatReader.cpp index 23b0b66815..787f43c059 100644 --- a/src/add-ons/media/plugins/ffmpeg/AVFormatReader.cpp +++ b/src/add-ons/media/plugins/ffmpeg/AVFormatReader.cpp @@ -52,14 +52,14 @@ static const int64 kNoPTSValue = 0x8000000000000000LL; static uint32 -avformat_to_beos_format(SampleFormat format) +avformat_to_beos_format(AVSampleFormat format) { switch (format) { - case SAMPLE_FMT_U8: return media_raw_audio_format::B_AUDIO_UCHAR; - case SAMPLE_FMT_S16: return media_raw_audio_format::B_AUDIO_SHORT; - case SAMPLE_FMT_S32: return media_raw_audio_format::B_AUDIO_INT; - case SAMPLE_FMT_FLT: return media_raw_audio_format::B_AUDIO_FLOAT; - case SAMPLE_FMT_DBL: return media_raw_audio_format::B_AUDIO_DOUBLE; + case AV_SAMPLE_FMT_U8: return media_raw_audio_format::B_AUDIO_UCHAR; + case AV_SAMPLE_FMT_S16: return media_raw_audio_format::B_AUDIO_SHORT; + case AV_SAMPLE_FMT_S32: return media_raw_audio_format::B_AUDIO_INT; + case AV_SAMPLE_FMT_FLT: return media_raw_audio_format::B_AUDIO_FLOAT; + case AV_SAMPLE_FMT_DBL: return media_raw_audio_format::B_AUDIO_DOUBLE; default: break; } @@ -68,7 +68,7 @@ avformat_to_beos_format(SampleFormat format) static uint32 -avformat_to_beos_byte_order(SampleFormat format) +avformat_to_beos_byte_order(AVSampleFormat format) { // TODO: Huh? return B_MEDIA_HOST_ENDIAN; @@ -83,7 +83,7 @@ avdictionary_to_message(AVDictionary* dictionary, BMessage* message) AVDictionaryEntry* entry = NULL; while ((entry = av_dict_get(dictionary, "", entry, - AV_METADATA_IGNORE_SUFFIX))) { + AV_DICT_IGNORE_SUFFIX))) { // convert entry keys into something more meaningful using the names from // id3v2.c if (strcmp(entry->key, "TALB") == 0 || strcmp(entry->key, "TAL") == 0) diff --git a/src/add-ons/media/plugins/ffmpeg/AVFormatWriter.cpp b/src/add-ons/media/plugins/ffmpeg/AVFormatWriter.cpp index 1e2bcfed7d..69adc853e4 100644 --- a/src/add-ons/media/plugins/ffmpeg/AVFormatWriter.cpp +++ b/src/add-ons/media/plugins/ffmpeg/AVFormatWriter.cpp @@ -109,12 +109,13 @@ AVFormatWriter::StreamCookie::Init(media_format* format, BAutolock _(fStreamLock); fPacket.stream_index = fContext->nb_streams; - fStream = av_new_stream(fContext, fPacket.stream_index); + fStream = avformat_new_stream(fContext, NULL); if (fStream == NULL) { TRACE(" failed to add new stream\n"); return B_ERROR; } + fStream->id = fPacket.stream_index; // TRACE(" fStream->codec: %p\n", fStream->codec); // TODO: This is a hack for now! Use avcodec_find_encoder_by_name() @@ -173,19 +174,19 @@ AVFormatWriter::StreamCookie::Init(media_format* format, fStream->codec->channels = format->u.raw_audio.channel_count; switch (format->u.raw_audio.format) { case media_raw_audio_format::B_AUDIO_FLOAT: - fStream->codec->sample_fmt = SAMPLE_FMT_FLT; + fStream->codec->sample_fmt = AV_SAMPLE_FMT_FLT; break; case media_raw_audio_format::B_AUDIO_DOUBLE: - fStream->codec->sample_fmt = SAMPLE_FMT_DBL; + fStream->codec->sample_fmt = AV_SAMPLE_FMT_DBL; break; case media_raw_audio_format::B_AUDIO_INT: - fStream->codec->sample_fmt = SAMPLE_FMT_S32; + fStream->codec->sample_fmt = AV_SAMPLE_FMT_S32; break; case media_raw_audio_format::B_AUDIO_SHORT: - fStream->codec->sample_fmt = SAMPLE_FMT_S16; + fStream->codec->sample_fmt = AV_SAMPLE_FMT_S16; break; case media_raw_audio_format::B_AUDIO_UCHAR: - fStream->codec->sample_fmt = SAMPLE_FMT_U8; + fStream->codec->sample_fmt = AV_SAMPLE_FMT_U8; break; case media_raw_audio_format::B_AUDIO_CHAR: @@ -198,28 +199,28 @@ AVFormatWriter::StreamCookie::Init(media_format* format, switch (format->u.raw_audio.channel_count) { default: case 2: - fStream->codec->channel_layout = CH_LAYOUT_STEREO; + fStream->codec->channel_layout = AV_CH_LAYOUT_STEREO; break; case 1: - fStream->codec->channel_layout = CH_LAYOUT_MONO; + fStream->codec->channel_layout = AV_CH_LAYOUT_MONO; break; case 3: - fStream->codec->channel_layout = CH_LAYOUT_SURROUND; + fStream->codec->channel_layout = AV_CH_LAYOUT_SURROUND; break; case 4: - fStream->codec->channel_layout = CH_LAYOUT_QUAD; + fStream->codec->channel_layout = AV_CH_LAYOUT_QUAD; break; case 5: - fStream->codec->channel_layout = CH_LAYOUT_5POINT0; + fStream->codec->channel_layout = AV_CH_LAYOUT_5POINT0; break; case 6: - fStream->codec->channel_layout = CH_LAYOUT_5POINT1; + fStream->codec->channel_layout = AV_CH_LAYOUT_5POINT1; break; case 8: - fStream->codec->channel_layout = CH_LAYOUT_7POINT1; + fStream->codec->channel_layout = AV_CH_LAYOUT_7POINT1; break; case 10: - fStream->codec->channel_layout = CH_LAYOUT_7POINT1_WIDE; + fStream->codec->channel_layout = AV_CH_LAYOUT_7POINT1_WIDE; break; } } else { @@ -365,9 +366,13 @@ AVFormatWriter::Init(const media_file_format* fileFormat) // Init I/O context with buffer and hook functions, pass ourself as // cookie. - if (init_put_byte(fIOContext, buffer, kIOBufferSize, 1, this, - 0, _Write, _Seek) != 0) { - TRACE(" init_put_byte() failed!\n"); + // Allocate I/O context with buffer and hook functions, pass ourself as + // cookie. + memset(buffer, 0, kIOBufferSize); + fIOContext = avio_alloc_context(buffer, kIOBufferSize, 1, this, 0, _Write, + _Seek); + if (fIOContext == NULL) { + TRACE(" avio_alloc_context() failed!\n"); return B_ERROR; } @@ -410,12 +415,6 @@ AVFormatWriter::CommitHeader() if (fHeaderWritten) return B_NOT_ALLOWED; - // According to output_example.c, the output parameters must be set even - // if none are specified. In the example, this call is used after the - // streams have been created. - if (av_set_parameters(fContext, NULL) < 0) - return B_ERROR; - #if OPEN_CODEC_CONTEXT for (unsigned i = 0; i < fContext->nb_streams; i++) { AVStream* stream = fContext->streams[i]; @@ -424,7 +423,7 @@ AVFormatWriter::CommitHeader() // it may be an encoder from a different plugin. AVCodecContext* codecContext = stream->codec; AVCodec* codec = avcodec_find_encoder(codecContext->codec_id); - if (codec == NULL || avcodec_open(codecContext, codec) < 0) { + if (codec == NULL || avcodec_open2(codecContext, codec, NULL) < 0) { TRACE(" stream[%u] - failed to open AVCodecContext\n", i); } TRACE(" stream[%u] time_base: (%d/%d), codec->time_base: (%d/%d)\n", @@ -433,9 +432,9 @@ AVFormatWriter::CommitHeader() } #endif - int result = av_write_header(fContext); + int result = avformat_write_header(fContext, NULL); if (result < 0) - TRACE(" av_write_header(): %d\n", result); + TRACE(" avformat_write_header(): %d\n", result); // We need to close the codecs we opened, even in case of failure. fHeaderWritten = true; From 0671704e3a8b534a6219ae009c78a8ec2f032d5c Mon Sep 17 00:00:00 2001 From: Niels Sascha Reedijk Date: Tue, 7 Aug 2012 06:28:00 +0200 Subject: [PATCH 08/34] Update translations from Pootle --- .../outbound_protocols/smtp/sk.catkeys | 5 ++++- .../add-ons/screen_savers/glife/sk.catkeys | 15 +++++++++++++++ data/catalogs/apps/aboutsystem/sk.catkeys | 4 +++- data/catalogs/apps/deskbar/sk.catkeys | 4 +++- data/catalogs/apps/deskcalc/sk.catkeys | 4 +++- data/catalogs/apps/drivesetup/sk.catkeys | 10 +++++++++- data/catalogs/apps/mediaplayer/be.catkeys | 3 +-- data/catalogs/apps/mediaplayer/de.catkeys | 3 +-- data/catalogs/apps/mediaplayer/el.catkeys | 3 +-- data/catalogs/apps/mediaplayer/fi.catkeys | 3 +-- data/catalogs/apps/mediaplayer/fr.catkeys | 3 +-- data/catalogs/apps/mediaplayer/hi.catkeys | 3 +-- data/catalogs/apps/mediaplayer/ja.catkeys | 3 +-- data/catalogs/apps/mediaplayer/lt.catkeys | 3 +-- data/catalogs/apps/mediaplayer/nb.catkeys | 3 +-- data/catalogs/apps/mediaplayer/nl.catkeys | 3 +-- data/catalogs/apps/mediaplayer/pl.catkeys | 3 +-- data/catalogs/apps/mediaplayer/ro.catkeys | 3 +-- data/catalogs/apps/mediaplayer/ru.catkeys | 3 +-- data/catalogs/apps/mediaplayer/sk.catkeys | 3 +-- data/catalogs/apps/mediaplayer/uk.catkeys | 3 +-- data/catalogs/apps/mediaplayer/zh-Hans.catkeys | 3 +-- data/catalogs/kits/tracker/sk.catkeys | 6 +++++- data/catalogs/preferences/appearance/sk.catkeys | 5 ++++- .../preferences/datatranslations/be.catkeys | 3 +-- .../preferences/datatranslations/de.catkeys | 3 +-- .../preferences/datatranslations/fi.catkeys | 3 +-- .../preferences/datatranslations/fr.catkeys | 3 +-- .../preferences/datatranslations/ja.catkeys | 3 +-- .../preferences/datatranslations/lt.catkeys | 3 +-- .../preferences/datatranslations/nl.catkeys | 3 +-- .../preferences/datatranslations/pl.catkeys | 3 +-- .../preferences/datatranslations/ru.catkeys | 3 +-- .../preferences/datatranslations/sk.catkeys | 3 +-- data/catalogs/preferences/filetypes/be.catkeys | 3 +-- data/catalogs/preferences/filetypes/de.catkeys | 3 +-- data/catalogs/preferences/filetypes/el.catkeys | 3 +-- data/catalogs/preferences/filetypes/fi.catkeys | 3 +-- data/catalogs/preferences/filetypes/fr.catkeys | 3 +-- data/catalogs/preferences/filetypes/hi.catkeys | 3 +-- data/catalogs/preferences/filetypes/ja.catkeys | 3 +-- data/catalogs/preferences/filetypes/lt.catkeys | 3 +-- data/catalogs/preferences/filetypes/nb.catkeys | 3 +-- data/catalogs/preferences/filetypes/nl.catkeys | 3 +-- data/catalogs/preferences/filetypes/pl.catkeys | 3 +-- data/catalogs/preferences/filetypes/ro.catkeys | 3 +-- data/catalogs/preferences/filetypes/ru.catkeys | 3 +-- data/catalogs/preferences/filetypes/sk.catkeys | 3 +-- data/catalogs/preferences/filetypes/uk.catkeys | 3 +-- .../preferences/filetypes/zh-Hans.catkeys | 3 +-- 50 files changed, 88 insertions(+), 91 deletions(-) create mode 100644 data/catalogs/add-ons/screen_savers/glife/sk.catkeys diff --git a/data/catalogs/add-ons/mail_daemon/outbound_protocols/smtp/sk.catkeys b/data/catalogs/add-ons/mail_daemon/outbound_protocols/smtp/sk.catkeys index 1137c19254..88af44dcb0 100644 --- a/data/catalogs/add-ons/mail_daemon/outbound_protocols/smtp/sk.catkeys +++ b/data/catalogs/add-ons/mail_daemon/outbound_protocols/smtp/sk.catkeys @@ -1,6 +1,8 @@ -1 slovak x-vnd.Haiku-SMTP 1052586247 +1 slovak x-vnd.Haiku-SMTP 2740407895 SMTP server: ConfigView Server SMTP: +STARTTLS ConfigView STARTTLS Error while logging in to %serv smtp Chyba pri prihlasovaní k %serv +Unencrypted ConfigView Nešifrované . The server says:\n smtp . Server hovorí:\n ESMTP ConfigView ESMTP Connecting to server… smtp Pripájanie k serveru… @@ -10,4 +12,5 @@ Destination: ConfigView Cieľ: : Connection refused or host not found. smtp : Spojenie odmietnuté alebo hostiteľ nenájdený. None ConfigView Žiadne POP3 before SMTP ConfigView POP3, potom SMTP +SSL ConfigView SSL . The server said:\n smtp . Server povedal:\n diff --git a/data/catalogs/add-ons/screen_savers/glife/sk.catkeys b/data/catalogs/add-ons/screen_savers/glife/sk.catkeys new file mode 100644 index 0000000000..c77e53c1df --- /dev/null +++ b/data/catalogs/add-ons/screen_savers/glife/sk.catkeys @@ -0,0 +1,15 @@ +1 slovak x-vnd.Haiku-GLifeScreensaver 1707534289 +Grid Border: %li GLife ScreenSaver Okraj mriežky: %li +Grid Width: GLife ScreenSaver Šírka mriežky: +none GLife ScreenSaver žiadna +Grid Height: GLife ScreenSaver Výška mriežky: +%sx GLife ScreenSaver This is a factor: the x represents 'times' %sx +None GLife ScreenSaver Žiadna +4x GLife ScreenSaver This is a factor: the x represents 'times' 4x +Grid Width: %li GLife ScreenSaver Šírka mriežky: %li +Grid Height: %li GLife ScreenSaver Výška mriežky: %li +Grid Life Delay: GLife ScreenSaver Oneskorenie životnosti mriežky: +OpenGL \"Game of Life\" GLife ScreenSaver OpenGL „Hra života“ +Grid Life Delay: %s GLife ScreenSaver Oneskorenie životnosti mriežky: %s +Grid Border: GLife ScreenSaver Okraj mriežky: +by Aaron Hill GLife ScreenSaver napísal Aaron Hill diff --git a/data/catalogs/apps/aboutsystem/sk.catkeys b/data/catalogs/apps/aboutsystem/sk.catkeys index 852a95a69b..2a81d03945 100644 --- a/data/catalogs/apps/aboutsystem/sk.catkeys +++ b/data/catalogs/apps/aboutsystem/sk.catkeys @@ -1,4 +1,4 @@ -1 slovak x-vnd.Haiku-About 3434348710 +1 slovak x-vnd.Haiku-About 519561637 Copyright © 1999-2010 by the authors of Gutenprint. All rights reserved. AboutView Copyright © 1999-2010 autori Gutenprint. Všetky práva vyhradené. Travis Geiselbrecht (and his NewOS kernel)\n AboutView Travis Geiselbrecht (a jeho jadro NewOS)\n BSD (4-clause) AboutView BSD (4-bodová) @@ -11,6 +11,7 @@ The Haiku-Ports team\n AboutView Tím Haiku-Ports\n Copyright © 1998-2003 Daniel Veillard. All rights reserved. AboutView Copyright © 1998-2003 Daniel Veillard. Všetky práva vyhradené. %d MiB used (%d%%) AboutView %d MiB využitých (%d%%) Website, marketing & documentation:\n AboutView Webová stránka, marketing a dokumentácia:\n +GNU LGPL v2.1 AboutView GNU LGPL v2.1 AboutSystem System name O systéme MIT (no promotion) AboutView MIT (nie je reklama) Copyright © 2003 Peter Hanappe and others. AboutView Copyright © 2003 Peter Hanappe a ďalší. @@ -39,6 +40,7 @@ Copyright © 2002-2004 Vivek Mohan. All rights reserved. AboutView Copyright © %.2f GHz AboutView %.2f GHz Memory: AboutView Pamäť: Copyright © 1996-1997 Jeff Prosise. All rights reserved. AboutView Copyright © 1996-1997 Jeff Prosise. Všetky práva vyhradené. +Copyright © 2006-2012 Kentaro Fukuchi AboutView Copyright © 2006-2012 Kentaro Fukuchi Copyright © 1994-2009, Thomas G. Lane, Guido Vollbeding. This software is based in part on the work of the Independent JPEG Group. AboutView Copyright © 1994-2009, Thomas G. Lane, Guido Vollbeding. Tento softvér je sčasti zaločený na práci Independent JPEG Group. Past maintainers:\n AboutView Minulí vývojári:\n \n\nSpecial thanks to:\n AboutView \n\nŠpecialne poďakovanie:\n diff --git a/data/catalogs/apps/deskbar/sk.catkeys b/data/catalogs/apps/deskbar/sk.catkeys index a74134b68f..3893f75e41 100644 --- a/data/catalogs/apps/deskbar/sk.catkeys +++ b/data/catalogs/apps/deskbar/sk.catkeys @@ -1,9 +1,11 @@ -1 slovak x-vnd.Be-TSKB 359782181 +1 slovak x-vnd.Be-TSKB 3197510812 Power off DeskbarMenu Vypnúť Show day of week PreferencesWindow Zobraziť deň v týždni Edit menu… PreferencesWindow Upraviť menu… +Suspend DeskbarMenu Režim spánku Applications PreferencesWindow Aplikácie Time preferences… TimeView Nastavenia času… +About Haiku DeskbarMenu O Haiku Recent documents: PreferencesWindow Nedávne dokumenty: Recent applications DeskbarMenu Nedávne aplikácie Sort running applications PreferencesWindow Zoradiť bežiace aplikácie diff --git a/data/catalogs/apps/deskcalc/sk.catkeys b/data/catalogs/apps/deskcalc/sk.catkeys index 0b11148a3c..e26dbe378d 100644 --- a/data/catalogs/apps/deskcalc/sk.catkeys +++ b/data/catalogs/apps/deskcalc/sk.catkeys @@ -1,7 +1,9 @@ -1 slovak x-vnd.Haiku-DeskCalc 1916192649 +1 slovak x-vnd.Haiku-DeskCalc 3276968552 Compact CalcView Kompaktná Scientific CalcView Vedecká DeskCalc System name Kalkulačka Basic CalcView Základná +Radians CalcView Radiány Enable Num Lock on startup CalcView Zapnúť NumLock pri štarte +Degrees CalcView Stupne Audio Feedback CalcView Zvuková spätná väzba diff --git a/data/catalogs/apps/drivesetup/sk.catkeys b/data/catalogs/apps/drivesetup/sk.catkeys index a45a3965ce..1a393af833 100644 --- a/data/catalogs/apps/drivesetup/sk.catkeys +++ b/data/catalogs/apps/drivesetup/sk.catkeys @@ -1,4 +1,4 @@ -1 slovak x-vnd.Haiku-DriveSetup 2908539543 +1 slovak x-vnd.Haiku-DriveSetup 3244521115 DriveSetup System name Nastavenie diskových oblastí Delete MainWindow Zmazať Are you sure you want to write the changes back to disk now?\n\nAll data on the selected partition will be irretrievably lost if you do so! MainWindow Ste si istý, že chcete tieto zmeny teraz zapísať na disk?\n\nAk tak urobíte, všetky údaje na vybranej diskovej oblasti budú nenávratne stratené! @@ -11,10 +11,13 @@ There's no space on the partition where a child partition could be created. Main Unable to find the selected partition by ID. MainWindow Nebolo možné nájsť vybranú oblasť podľa ID. Select a partition from the list below. DiskView Vyberte oblasť zo zoznamu dolu. No disk devices have been recognized. DiskView Neboli rozpoznané žiadne diskové zariadenia. +Failed to initialize the disk %s!\n MainWindow Nepodarilo sa inicializovať disk %s!\n The selected disk is read-only. MainWindow Vybraný disk je len na čítanie. Partition name: CreateParamsPanel Názov oblasti: Initialize InitParamsPanel Inicializovať +Are you sure you want to format the partition \"%s\"? You will be asked again before changes are written to the disk. MainWindow Ste si istí, že chcete naformátovať oblasť „%s“? Pred zapísaním zmien na disk sa vás program znova spýta. Could not mount partition %s. MainWindow Nepodarilo sa pripojiť oblasť %s. +The partition %s has been successfully formatted.\n MainWindow Oblasť %s bola úspešne naformátovaná.\n The partition %s is already unmounted. MainWindow Oblasť %s je už odpojená. Failed to delete the partition. No changes have been written to disk. MainWindow Nepodarilo sa zmazať oblasť. Žiadne zmeny neboli zapísané na disk. Partition type: CreateParamsPanel Typ oblasti: @@ -34,15 +37,20 @@ Offset: %ld MB Support Ofset: %ld MB Write changes MainWindow Zapísať zmeny There was an error preparing the disk for modifications. MainWindow Vyskytla sa chyba pri pripravovaní disku na zmeny. The partition %s is already mounted. MainWindow Oblasť %s je už pripojená. +Are you sure you want to format the partition? You will be asked again before changes are written to the disk. MainWindow Ste si istí, že chcete naformátovať oblasť? Pred zapísaním zmien na disk sa vás program znova spýta. Are you sure you want to write the changes back to disk now?\n\nAll data on the disk %s will be irretrievably lost if you do so! MainWindow Ste si istý, že chcete tieto zmeny teraz zapísať na disk?\n\nAk tak urobíte, všetky údaje na disku %s budú nenávratne stratené! Are you sure you want to delete the selected partition?\n\nAll data on the partition will be irretrievably lost if you do so! MainWindow Ste si istý, že chcete zmazať vybranú diskovú oblasť?\n\nAk tak urobíte, všetky údaje na vybranej diskovej oblasti budú nenávratne stratené! Create… MainWindow Vytvoriť… Disk system \"%s\"\" not found! MainWindow Diskový systém „%s“ nenájdený! +The disk has been successfully initialized.\n MainWindow Disk bol úspešne inicializovaný.\n Could not unmount partition %s. MainWindow Nepodarilo sa odpojiť oblasť %s. +Failed to format the partition %s!\n MainWindow Nepodarilo sa naformátovať oblasť %s!\n Mount MainWindow Pripojiť Create CreateParamsPanel Vytvoriť +Are you sure you want to format a raw disk? (most people initialize the disk with a partitioning system first) You will be asked again before changes are written to the disk. MainWindow Ste si istí, že chcete naformátovať neformátovaný disk? (väčšina ľudí najskôr disk inicializuje pomocou systému na rozdelenie disku) Pred zapísaním zmien na disk sa vás program znova spýta. Device PartitionList Zariadenie Disk MainWindow Disk +Are you sure you want to initialize the selected disk? All data will be lost. You will be asked again before changes are written to the disk.\n MainWindow Ste si istí, že chcete inicializovať vybraný disk? Stratia sa všetky údaje na ňom. Pred zapísaním zmien na disk sa vás program znova spýta.\n Device DiskView Zariadenie Active PartitionList Aktívna Volume name PartitionList Názov zväzku diff --git a/data/catalogs/apps/mediaplayer/be.catkeys b/data/catalogs/apps/mediaplayer/be.catkeys index 59f2149766..4a989f6a44 100644 --- a/data/catalogs/apps/mediaplayer/be.catkeys +++ b/data/catalogs/apps/mediaplayer/be.catkeys @@ -1,4 +1,4 @@ -1 belarusian x-vnd.Haiku-MediaPlayer 2389197979 +1 belarusian x-vnd.Haiku-MediaPlayer 4127722853 raw audio MediaPlayer-InfoWin нефарматаване аўдыё Location MediaPlayer-InfoWin Месцазнаходжанне 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1 (Амерыка) @@ -58,7 +58,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main Вызначае U 400% scale MediaPlayer-Main Маштаб 400% Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow Не ўдалося захаваць плэйліст:\n\nПамылка: Move Entries MediaPlayer-MovePLItemsCmd Перамясціць элементы -Move Into Trash Error MediaPlayer-RemovePLItemsCmd Памылка Адпраўкі Ў Сметніцу Audio MediaPlayer-Main Аўдыё Open Playlist MediaPlayer-PlaylistWindow Адкрыць плэйліст MediaPlayer System name Праігравальнік Медыя diff --git a/data/catalogs/apps/mediaplayer/de.catkeys b/data/catalogs/apps/mediaplayer/de.catkeys index 96546baa50..2dd73cfdeb 100644 --- a/data/catalogs/apps/mediaplayer/de.catkeys +++ b/data/catalogs/apps/mediaplayer/de.catkeys @@ -1,4 +1,4 @@ -1 german x-vnd.Haiku-MediaPlayer 2389197979 +1 german x-vnd.Haiku-MediaPlayer 4127722853 raw audio MediaPlayer-InfoWin Raw-Audio Location MediaPlayer-InfoWin Ort 1.85 : 1 (American) MediaPlayer-Main 1,85 : 1 (Amerikanisch) @@ -58,7 +58,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main Fragt die URI des 400% scale MediaPlayer-Main 400% Zoom Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow Speichern der Playliste fehlgeschlagen:\n\nFehler: Move Entries MediaPlayer-MovePLItemsCmd Einträge verschieben -Move Into Trash Error MediaPlayer-RemovePLItemsCmd Fehler beim Verschieben in den Papierkorb Audio MediaPlayer-Main Audio Open Playlist MediaPlayer-PlaylistWindow Playliste öffnen MediaPlayer System name Media-Player diff --git a/data/catalogs/apps/mediaplayer/el.catkeys b/data/catalogs/apps/mediaplayer/el.catkeys index ab4f31bf03..01992b41fd 100644 --- a/data/catalogs/apps/mediaplayer/el.catkeys +++ b/data/catalogs/apps/mediaplayer/el.catkeys @@ -1,4 +1,4 @@ -1 greek, modern (1453-) x-vnd.Haiku-MediaPlayer 4123753294 +1 greek, modern (1453-) x-vnd.Haiku-MediaPlayer 1567310872 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1 (Αμερικάνικο) Stream settings MediaPlayer-Main Ρυθμίσεις ροής PlaylistItem-album <άγνωστο> @@ -45,7 +45,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main Λαμβάνει 400% scale MediaPlayer-Main 400% κλίμακα Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow Απέτυχε η αποθήκευση της λίστας αναπαραγωγής:\n\nΣφάλμα: Move Entries MediaPlayer-MovePLItemsCmd Μετακίνηση Καταχωρήσεων -Move Into Trash Error MediaPlayer-RemovePLItemsCmd Μετακίνηση στα Απορρίματα Σφαλμάτων Audio MediaPlayer-Main Ήχος Open Playlist MediaPlayer-PlaylistWindow Άνοιγμα λίστας αναπαραγωγής MediaPlayer System name MediaPlayer diff --git a/data/catalogs/apps/mediaplayer/fi.catkeys b/data/catalogs/apps/mediaplayer/fi.catkeys index 8fc63e2c94..a32a80eb95 100644 --- a/data/catalogs/apps/mediaplayer/fi.catkeys +++ b/data/catalogs/apps/mediaplayer/fi.catkeys @@ -1,4 +1,4 @@ -1 finnish x-vnd.Haiku-MediaPlayer 2389197979 +1 finnish x-vnd.Haiku-MediaPlayer 4127722853 raw audio MediaPlayer-InfoWin raakaääni Location MediaPlayer-InfoWin Sijainti 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1 (amerikkalainen) @@ -58,7 +58,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main Hakee parhaillaan 400% scale MediaPlayer-Main 400 % skaala Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow Soittoluettelo tallentaminen epäonnistui:\n\nVirhe: Move Entries MediaPlayer-MovePLItemsCmd Siirrä kappaleita -Move Into Trash Error MediaPlayer-RemovePLItemsCmd Siirrä roskakoriin Audio MediaPlayer-Main Ääni Open Playlist MediaPlayer-PlaylistWindow Avaa soittoluettelo MediaPlayer System name Mediasoitin diff --git a/data/catalogs/apps/mediaplayer/fr.catkeys b/data/catalogs/apps/mediaplayer/fr.catkeys index 91c72d232a..06bcad6d2e 100644 --- a/data/catalogs/apps/mediaplayer/fr.catkeys +++ b/data/catalogs/apps/mediaplayer/fr.catkeys @@ -1,4 +1,4 @@ -1 french x-vnd.Haiku-MediaPlayer 2389197979 +1 french x-vnd.Haiku-MediaPlayer 4127722853 raw audio MediaPlayer-InfoWin audio brut Location MediaPlayer-InfoWin Emplacement 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1 (Panoramique américain) @@ -58,7 +58,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main Obtenir l'URI de l 400% scale MediaPlayer-Main Échelle 400% Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow La sauvegarde de la liste de lecture a échoué :\n\nErreur : Move Entries MediaPlayer-MovePLItemsCmd Déplacer les entrées -Move Into Trash Error MediaPlayer-RemovePLItemsCmd Erreur d'envoi à la corbeille Audio MediaPlayer-Main Audio Open Playlist MediaPlayer-PlaylistWindow Ouvrir une liste de lecture MediaPlayer System name Lecteur Média diff --git a/data/catalogs/apps/mediaplayer/hi.catkeys b/data/catalogs/apps/mediaplayer/hi.catkeys index 2faafdfbac..857f5f2184 100644 --- a/data/catalogs/apps/mediaplayer/hi.catkeys +++ b/data/catalogs/apps/mediaplayer/hi.catkeys @@ -1,4 +1,4 @@ -1 hindi x-vnd.Haiku-MediaPlayer 3764443013 +1 hindi x-vnd.Haiku-MediaPlayer 1208000591 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1(अमेरिकी) Stream settings MediaPlayer-Main स्ट्रीम सेटिंग्स PlaylistItem-album <अज्ञात> @@ -45,7 +45,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main अभी चल 400% scale MediaPlayer-Main चार सौ प्रतिशत स्केल Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow प्लेलिस्ट को सहेजना विफल:\n\nत्रुटि: Move Entries MediaPlayer-MovePLItemsCmd प्रविष्टियां ले जाएँ -Move Into Trash Error MediaPlayer-RemovePLItemsCmd कचरा त्रुटि में ले जाएँ Audio MediaPlayer-Main ऑडियो Open Playlist MediaPlayer-PlaylistWindow ओपन प्लेलिस्ट MediaPlayer System name मीडियाप्लेयर diff --git a/data/catalogs/apps/mediaplayer/ja.catkeys b/data/catalogs/apps/mediaplayer/ja.catkeys index 393321273b..8efa5a0d22 100644 --- a/data/catalogs/apps/mediaplayer/ja.catkeys +++ b/data/catalogs/apps/mediaplayer/ja.catkeys @@ -1,4 +1,4 @@ -1 japanese x-vnd.Haiku-MediaPlayer 3052550296 +1 japanese x-vnd.Haiku-MediaPlayer 496107874 Location MediaPlayer-InfoWin 場所 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1 (American) %d kHz MediaPlayer-InfoWin %d kHz @@ -57,7 +57,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main 現在再生中項 400% scale MediaPlayer-Main 400% 表示 Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow プレイリストの保存に失敗しました:\n\nエラー: Move Entries MediaPlayer-MovePLItemsCmd 項目の移動 -Move Into Trash Error MediaPlayer-RemovePLItemsCmd ごみ箱への移動エラー Audio MediaPlayer-Main オーディオ Open Playlist MediaPlayer-PlaylistWindow プレイリストを開く MediaPlayer System name メディアプレイヤー diff --git a/data/catalogs/apps/mediaplayer/lt.catkeys b/data/catalogs/apps/mediaplayer/lt.catkeys index b99162a9d8..110ec07cbb 100644 --- a/data/catalogs/apps/mediaplayer/lt.catkeys +++ b/data/catalogs/apps/mediaplayer/lt.catkeys @@ -1,4 +1,4 @@ -1 lithuanian x-vnd.Haiku-MediaPlayer 607764928 +1 lithuanian x-vnd.Haiku-MediaPlayer 2346289802 raw audio MediaPlayer-InfoWin neapdorotas garso įrašas Location MediaPlayer-InfoWin Vieta 1.85 : 1 (American) MediaPlayer-Main 1,85 : 1 (Amerikietiškas) @@ -58,7 +58,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main Gauna šiuo metu a 400% scale MediaPlayer-Main Mastelis 400% Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow Grojaraščio įrašyti nepavyko:\n\nKlaida: Move Entries MediaPlayer-MovePLItemsCmd Perkelti įrašus -Move Into Trash Error MediaPlayer-RemovePLItemsCmd Klaida išmetant Šiukšlinėn Audio MediaPlayer-Main Garsas Open Playlist MediaPlayer-PlaylistWindow Atverti grojaraštį MediaPlayer System name Medijos leistuvė diff --git a/data/catalogs/apps/mediaplayer/nb.catkeys b/data/catalogs/apps/mediaplayer/nb.catkeys index 7c1d347914..069f9b8e31 100644 --- a/data/catalogs/apps/mediaplayer/nb.catkeys +++ b/data/catalogs/apps/mediaplayer/nb.catkeys @@ -1,4 +1,4 @@ -1 bokmål, norwegian; norwegian bokmål x-vnd.Haiku-MediaPlayer 1694310530 +1 bokmål, norwegian; norwegian bokmål x-vnd.Haiku-MediaPlayer 3432835404 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1 (Amerikansk) PlaylistItem-album Video MediaPlayer-InfoWin Video @@ -34,7 +34,6 @@ There is no decoder installed to handle the file format, or the decoder has trou Gets the URI of the currently playing item. MediaPlayer-Main Hent URI av det som spiller nå 400% scale MediaPlayer-Main 400% skalert Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow Lagring av spilleliste feilet:\n\nFeilmelding: -Move Into Trash Error MediaPlayer-RemovePLItemsCmd Feil ved flytting til søppelkurv Audio MediaPlayer-Main Audio Open Playlist MediaPlayer-PlaylistWindow Åpne spilleliste MediaPlayer System name Mediaspiller diff --git a/data/catalogs/apps/mediaplayer/nl.catkeys b/data/catalogs/apps/mediaplayer/nl.catkeys index 49fc3559b3..11816e2a73 100644 --- a/data/catalogs/apps/mediaplayer/nl.catkeys +++ b/data/catalogs/apps/mediaplayer/nl.catkeys @@ -1,4 +1,4 @@ -1 dutch; flemish x-vnd.Haiku-MediaPlayer 1682337076 +1 dutch; flemish x-vnd.Haiku-MediaPlayer 3420861950 raw audio MediaPlayer-InfoWin ruwe audio Location MediaPlayer-InfoWin Locatie 1.85 : 1 (American) MediaPlayer-Main 1,85 : 1 (Amerikaans) @@ -57,7 +57,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main Haalt de URI op va 400% scale MediaPlayer-Main 400% schaal Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow Opslaan afspeellijst is mislukt:\n\nFout: Move Entries MediaPlayer-MovePLItemsCmd Onderdelen verplaatsen -Move Into Trash Error MediaPlayer-RemovePLItemsCmd Fout bij het verplaatsen naar Trash Audio MediaPlayer-Main Audio Open Playlist MediaPlayer-PlaylistWindow Afspeellijst openen MediaPlayer System name Mediaspeler diff --git a/data/catalogs/apps/mediaplayer/pl.catkeys b/data/catalogs/apps/mediaplayer/pl.catkeys index efb1654132..d472ec4b83 100644 --- a/data/catalogs/apps/mediaplayer/pl.catkeys +++ b/data/catalogs/apps/mediaplayer/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.Haiku-MediaPlayer 2389197979 +1 polish x-vnd.Haiku-MediaPlayer 4127722853 raw audio MediaPlayer-InfoWin czysty dźwięk Location MediaPlayer-InfoWin Położenie 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1 (amerykańskie) @@ -58,7 +58,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main Pobiera adres URI 400% scale MediaPlayer-Main 400% skali Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow Zapisywanie listy odtwarzania nie powiodło się:\n\nBłąd: Move Entries MediaPlayer-MovePLItemsCmd Przeniesienie wpisów -Move Into Trash Error MediaPlayer-RemovePLItemsCmd Błąd przenoszenia do Kosza Audio MediaPlayer-Main Dźwięk Open Playlist MediaPlayer-PlaylistWindow Otwórz listę odtwarzania MediaPlayer System name MediaPlayer diff --git a/data/catalogs/apps/mediaplayer/ro.catkeys b/data/catalogs/apps/mediaplayer/ro.catkeys index 079f688725..a9d9ed9135 100644 --- a/data/catalogs/apps/mediaplayer/ro.catkeys +++ b/data/catalogs/apps/mediaplayer/ro.catkeys @@ -1,4 +1,4 @@ -1 romanian x-vnd.Haiku-MediaPlayer 4123753294 +1 romanian x-vnd.Haiku-MediaPlayer 1567310872 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1 (American) Stream settings MediaPlayer-Main Configurări flux PlaylistItem-album @@ -45,7 +45,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main Obține adresa URI 400% scale MediaPlayer-Main scală 400% Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow Salvarea listei de redare a eșuat:\n\nEroare: Move Entries MediaPlayer-MovePLItemsCmd Mută intrări -Move Into Trash Error MediaPlayer-RemovePLItemsCmd Eroare de mutare la gunoi Audio MediaPlayer-Main Audio Open Playlist MediaPlayer-PlaylistWindow Deschide lista de redare MediaPlayer System name PlayerMedia diff --git a/data/catalogs/apps/mediaplayer/ru.catkeys b/data/catalogs/apps/mediaplayer/ru.catkeys index e0e327b353..2a9e310ae0 100644 --- a/data/catalogs/apps/mediaplayer/ru.catkeys +++ b/data/catalogs/apps/mediaplayer/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-MediaPlayer 3699683348 +1 russian x-vnd.Haiku-MediaPlayer 1143240926 raw audio MediaPlayer-InfoWin raw аудио Location MediaPlayer-InfoWin Путь 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1 (Американский) @@ -53,7 +53,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main Получает U 400% scale MediaPlayer-Main Масштаб 400% Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow Ошибка при сохранени плейлиста:\n\nОшибка: Move Entries MediaPlayer-MovePLItemsCmd Переместить записи -Move Into Trash Error MediaPlayer-RemovePLItemsCmd Ошибка перемещения в корзину Audio MediaPlayer-Main Аудио Open Playlist MediaPlayer-PlaylistWindow Открыть плейлист MediaPlayer System name Медиаплеер diff --git a/data/catalogs/apps/mediaplayer/sk.catkeys b/data/catalogs/apps/mediaplayer/sk.catkeys index 6f26e2bb3b..902cb1ff0e 100644 --- a/data/catalogs/apps/mediaplayer/sk.catkeys +++ b/data/catalogs/apps/mediaplayer/sk.catkeys @@ -1,4 +1,4 @@ -1 slovak x-vnd.Haiku-MediaPlayer 607764928 +1 slovak x-vnd.Haiku-MediaPlayer 2346289802 raw audio MediaPlayer-InfoWin nespracovaný zvuk Location MediaPlayer-InfoWin Umiestnenie 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1 (americký) @@ -58,7 +58,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main Získa URI práve 400% scale MediaPlayer-Main 400% zmena veľkosti Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow Ukladanie zoznamu stôp zlyhalo:\n\nChyba: Move Entries MediaPlayer-MovePLItemsCmd Presunúť položky -Move Into Trash Error MediaPlayer-RemovePLItemsCmd Chyba pri presúvaní do Koša Audio MediaPlayer-Main Zvuk Open Playlist MediaPlayer-PlaylistWindow Otvoriť zoznam stôp MediaPlayer System name Prehrávač multimédií diff --git a/data/catalogs/apps/mediaplayer/uk.catkeys b/data/catalogs/apps/mediaplayer/uk.catkeys index bb2bf8fcd0..43899d9ca9 100644 --- a/data/catalogs/apps/mediaplayer/uk.catkeys +++ b/data/catalogs/apps/mediaplayer/uk.catkeys @@ -1,4 +1,4 @@ -1 ukrainian x-vnd.Haiku-MediaPlayer 4123753294 +1 ukrainian x-vnd.Haiku-MediaPlayer 1567310872 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1 (Амер.) Stream settings MediaPlayer-Main Настройки потоку PlaylistItem-album <невідомий> @@ -45,7 +45,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main Отримати U 400% scale MediaPlayer-Main Масштаб 400% Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow Збереження списку відтворення призупинено:\n\nПомилка: Move Entries MediaPlayer-MovePLItemsCmd Перемістити записи -Move Into Trash Error MediaPlayer-RemovePLItemsCmd Помилка переміщення в корзину Audio MediaPlayer-Main Аудіо Open Playlist MediaPlayer-PlaylistWindow Відкрити список відтворення MediaPlayer System name Медіа програвач diff --git a/data/catalogs/apps/mediaplayer/zh-Hans.catkeys b/data/catalogs/apps/mediaplayer/zh-Hans.catkeys index c86715fda4..8476096916 100644 --- a/data/catalogs/apps/mediaplayer/zh-Hans.catkeys +++ b/data/catalogs/apps/mediaplayer/zh-Hans.catkeys @@ -1,4 +1,4 @@ -1 english x-vnd.Haiku-MediaPlayer 641020488 +1 english x-vnd.Haiku-MediaPlayer 2379545362 raw audio MediaPlayer-InfoWin 原生音频 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1(美式) %d kHz MediaPlayer-InfoWin %d kHz @@ -53,7 +53,6 @@ Gets the URI of the currently playing item. MediaPlayer-Main 获取当前播放 400% scale MediaPlayer-Main 400% Saving the playlist failed:\n\nError: MediaPlayer-PlaylistWindow 播放列表保存失败:\n\n错误: Move Entries MediaPlayer-MovePLItemsCmd 移动条目 -Move Into Trash Error MediaPlayer-RemovePLItemsCmd 移动到垃圾箱出错 Audio MediaPlayer-Main 音频 Open Playlist MediaPlayer-PlaylistWindow 打开播放列表 MediaPlayer System name 媒体播放器 diff --git a/data/catalogs/kits/tracker/sk.catkeys b/data/catalogs/kits/tracker/sk.catkeys index 886d7654f5..957a5cabee 100644 --- a/data/catalogs/kits/tracker/sk.catkeys +++ b/data/catalogs/kits/tracker/sk.catkeys @@ -1,4 +1,4 @@ -1 slovak x-vnd.Haiku-libtracker 2141738748 +1 slovak x-vnd.Haiku-libtracker 2588930404 common B_COMMON_DIRECTORY spoločné OK WidgetAttributeText OK Icon view VolumeWindow Zobrazenie ikon @@ -15,7 +15,9 @@ Decrease size ContainerWindow Zmenšiť veľkosť Mini icon view VolumeWindow Zobrazenie mini ikon You must have at least one attribute showing. PoseView Musí sa zobrazovať aspoň jeden atribút. Permissions InfoWindow Oprávnenia +128 x 128 DeskWindow 128 x 128 Invert selection VolumeWindow Invertovať výber +128 x 128 ContainerWindow 128 x 128 Recent documents FavoritesMenu Nedávne dokumenty Modified QueryPoseView Zmenené Created ContainerWindow Vytvorené @@ -89,6 +91,7 @@ Replace FilePanelPriv Nahradiť Select all VolumeWindow Vybrať všetko Opens with: InfoWindow Otvára sa pomocou: Open ContainerWindow Otvoriť +96 x 96 DeskWindow 96 x 96 Error calculating folder size. InfoWindow Chyba pri výpočte veľkosti priečinka. New folder FilePanelPriv Nový priečinok %name info InfoWindow InfoWindow Title Info o %name @@ -308,6 +311,7 @@ The Tracker must be running to see Info windows. PoseView Tracker musí bežať Other FilePermissionsView Iné Query name: FindPanel Názov Požiadavky: Permissions ContainerWindow Oprávnenia +96 x 96 ContainerWindow 96 x 96 moving FSUtils presúvanie Identify InfoWindow Identifikovať Recent folders ContainerWindow Nedávne priečinky diff --git a/data/catalogs/preferences/appearance/sk.catkeys b/data/catalogs/preferences/appearance/sk.catkeys index 0ff8c29fb5..14e19de862 100644 --- a/data/catalogs/preferences/appearance/sk.catkeys +++ b/data/catalogs/preferences/appearance/sk.catkeys @@ -1,4 +1,4 @@ -1 slovak x-vnd.Haiku-Appearance 3882211276 +1 slovak x-vnd.Haiku-Appearance 2671941221 Plain font: Font view Základné písmo: Control highlight Colors tab Zvýraznenie ovládacieho prvku Control border Colors tab Okraj ovládacieho prvku @@ -27,9 +27,11 @@ Window border Colors tab Okraj okna Window tab text Colors tab Text záložky okna Document text Colors tab Text dokumentu Navigation pulse Colors tab Pulz navigácie +Window decorator: DecorSettingsView Dekorátor okna: Selected menu item text Colors tab Text položky zvoleného menu Menu background Colors tab Pozadie menu OK DecorSettingsView OK +Control mark Colors tab Riadiaca značka Size: Font Selection view Veľkosť: Panel background Colors tab Pozadie panelu Menu font: Font view Písmo menu: @@ -50,6 +52,7 @@ LCD subpixel AntialiasingSettingsView LCD subpixel Selected menu item border Colors tab Okraj vybranej položky menu Strong AntialiasingSettingsView Hrubý Panel text Colors tab Text panelu +Decorators APRWindow Dekorácie: Monospaced fonts only AntialiasingSettingsView Iba písma s pevnou šírkou znaku Antialiasing menu AntialiasingSettingsView Menu antialiasing Fonts APRWindow Písma diff --git a/data/catalogs/preferences/datatranslations/be.catkeys b/data/catalogs/preferences/datatranslations/be.catkeys index d50b6e0bce..c6752d15d6 100644 --- a/data/catalogs/preferences/datatranslations/be.catkeys +++ b/data/catalogs/preferences/datatranslations/be.catkeys @@ -1,4 +1,4 @@ -1 belarusian x-vnd.Haiku-DataTranslations 458105477 +1 belarusian x-vnd.Haiku-DataTranslations 3820343452 DataTranslations System name Канвертары Cancel DataTranslations Адмена Name: DataTranslations Імя: @@ -14,6 +14,5 @@ Info DataTranslations інфа Path: DataTranslations Пуць: The new translator has been installed successfully. DataTranslations Новы канвертар паспяхова ўстаноўлены. DataTranslations - Error DataTranslations DataTranslations - Памылка -Ok DataTranslations Так OK DataTranslations ОК Version: DataTranslations Версія: diff --git a/data/catalogs/preferences/datatranslations/de.catkeys b/data/catalogs/preferences/datatranslations/de.catkeys index 5cd582f750..10cdc6e20c 100644 --- a/data/catalogs/preferences/datatranslations/de.catkeys +++ b/data/catalogs/preferences/datatranslations/de.catkeys @@ -1,4 +1,4 @@ -1 german x-vnd.Haiku-DataTranslations 458105477 +1 german x-vnd.Haiku-DataTranslations 3820343452 DataTranslations System name Datenkonvertierung Cancel DataTranslations Abbrechen Name: DataTranslations Name: @@ -14,6 +14,5 @@ Info DataTranslations Info Path: DataTranslations Pfad: The new translator has been installed successfully. DataTranslations Der neue Translator wurde erfolgreich installiert. DataTranslations - Error DataTranslations Datenkonvertierung - Fehler -Ok DataTranslations OK OK DataTranslations OK Version: DataTranslations Version: diff --git a/data/catalogs/preferences/datatranslations/fi.catkeys b/data/catalogs/preferences/datatranslations/fi.catkeys index 090cf65f3e..a02cc047fb 100644 --- a/data/catalogs/preferences/datatranslations/fi.catkeys +++ b/data/catalogs/preferences/datatranslations/fi.catkeys @@ -1,4 +1,4 @@ -1 finnish x-vnd.Haiku-DataTranslations 458105477 +1 finnish x-vnd.Haiku-DataTranslations 3820343452 DataTranslations System name Tietomuunnosasetukset Cancel DataTranslations Peru Name: DataTranslations Nimi: @@ -14,6 +14,5 @@ Info DataTranslations tiedot Path: DataTranslations Polku: The new translator has been installed successfully. DataTranslations Uusi tietomuunnin on asennettu onnistuneesti. DataTranslations - Error DataTranslations Tietomuunnokset - Virhe -Ok DataTranslations Valmis OK DataTranslations Valmis Version: DataTranslations Versio: diff --git a/data/catalogs/preferences/datatranslations/fr.catkeys b/data/catalogs/preferences/datatranslations/fr.catkeys index 62b9d2e4fa..025601a579 100644 --- a/data/catalogs/preferences/datatranslations/fr.catkeys +++ b/data/catalogs/preferences/datatranslations/fr.catkeys @@ -1,4 +1,4 @@ -1 french x-vnd.Haiku-DataTranslations 458105477 +1 french x-vnd.Haiku-DataTranslations 3820343452 DataTranslations System name TraductionDeDonnées Cancel DataTranslations Annuler Name: DataTranslations Nom : @@ -14,6 +14,5 @@ Info DataTranslations Information Path: DataTranslations Chemin : The new translator has been installed successfully. DataTranslations Le nouveau traducteur a été installé avec succès. DataTranslations - Error DataTranslations TraductionDeDonnées - Erreur -Ok DataTranslations Ok OK DataTranslations OK Version: DataTranslations Version : diff --git a/data/catalogs/preferences/datatranslations/ja.catkeys b/data/catalogs/preferences/datatranslations/ja.catkeys index 68fa7782ba..a4adc1bead 100644 --- a/data/catalogs/preferences/datatranslations/ja.catkeys +++ b/data/catalogs/preferences/datatranslations/ja.catkeys @@ -1,4 +1,4 @@ -1 japanese x-vnd.Haiku-DataTranslations 458105477 +1 japanese x-vnd.Haiku-DataTranslations 3820343452 DataTranslations System name DataTranslations Cancel DataTranslations 取り消し Name: DataTranslations 名前: @@ -14,6 +14,5 @@ Info DataTranslations 情報 Path: DataTranslations パス: The new translator has been installed successfully. DataTranslations 新しいTranslatorは正常にインストールされました。 DataTranslations - Error DataTranslations DataTranslations - エラー -Ok DataTranslations OK OK DataTranslations OK Version: DataTranslations バージョン: diff --git a/data/catalogs/preferences/datatranslations/lt.catkeys b/data/catalogs/preferences/datatranslations/lt.catkeys index e176b8a3b9..7f08ca8191 100644 --- a/data/catalogs/preferences/datatranslations/lt.catkeys +++ b/data/catalogs/preferences/datatranslations/lt.catkeys @@ -1,4 +1,4 @@ -1 lithuanian x-vnd.Haiku-DataTranslations 458105477 +1 lithuanian x-vnd.Haiku-DataTranslations 3820343452 DataTranslations System name Duomenų keitikliai Cancel DataTranslations Atsisakyti Name: DataTranslations Vardas: @@ -14,6 +14,5 @@ Info DataTranslations Informacija Path: DataTranslations Kelias: The new translator has been installed successfully. DataTranslations Naujasis keitiklis sėkmingai įdiegtas. DataTranslations - Error DataTranslations Duomenų keitikliai – klaida -Ok DataTranslations Gerai OK DataTranslations Gerai Version: DataTranslations Versija: diff --git a/data/catalogs/preferences/datatranslations/nl.catkeys b/data/catalogs/preferences/datatranslations/nl.catkeys index e481ecd4c6..47668a75fb 100644 --- a/data/catalogs/preferences/datatranslations/nl.catkeys +++ b/data/catalogs/preferences/datatranslations/nl.catkeys @@ -1,4 +1,4 @@ -1 dutch; flemish x-vnd.Haiku-DataTranslations 458105477 +1 dutch; flemish x-vnd.Haiku-DataTranslations 3820343452 DataTranslations System name DataTranslations Cancel DataTranslations Annuleren Name: DataTranslations Naam: @@ -14,6 +14,5 @@ Info DataTranslations info Path: DataTranslations Pad: The new translator has been installed successfully. DataTranslations De nieuwe omzetter werd met succes geïnstalleerd. DataTranslations - Error DataTranslations DataOmzetting - Fout -Ok DataTranslations OK OK DataTranslations Oké Version: DataTranslations Versie: diff --git a/data/catalogs/preferences/datatranslations/pl.catkeys b/data/catalogs/preferences/datatranslations/pl.catkeys index 332efa3a3c..c59dda89b0 100644 --- a/data/catalogs/preferences/datatranslations/pl.catkeys +++ b/data/catalogs/preferences/datatranslations/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.Haiku-DataTranslations 458105477 +1 polish x-vnd.Haiku-DataTranslations 3820343452 DataTranslations System name DataTranslations Cancel DataTranslations Anuluj Name: DataTranslations Nazwa: @@ -14,6 +14,5 @@ Info DataTranslations informacja Path: DataTranslations Ścieżka: The new translator has been installed successfully. DataTranslations Nowy translator został prawidłowo zainstalowany. DataTranslations - Error DataTranslations DataTranslations - Błąd -Ok DataTranslations OK OK DataTranslations OK Version: DataTranslations Wersja: diff --git a/data/catalogs/preferences/datatranslations/ru.catkeys b/data/catalogs/preferences/datatranslations/ru.catkeys index b3e53603ac..b166c1de3e 100644 --- a/data/catalogs/preferences/datatranslations/ru.catkeys +++ b/data/catalogs/preferences/datatranslations/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-DataTranslations 458105477 +1 russian x-vnd.Haiku-DataTranslations 3820343452 DataTranslations System name Трансляция данных Cancel DataTranslations Отмена Name: DataTranslations Имя: @@ -14,6 +14,5 @@ Info DataTranslations Инфо Path: DataTranslations Путь: The new translator has been installed successfully. DataTranslations Новый транслятор был успешно установлен. DataTranslations - Error DataTranslations Трансляция данных - ошибка -Ok DataTranslations OК OK DataTranslations ОК Version: DataTranslations Версия: diff --git a/data/catalogs/preferences/datatranslations/sk.catkeys b/data/catalogs/preferences/datatranslations/sk.catkeys index 1a98b5e409..61ee450f4b 100644 --- a/data/catalogs/preferences/datatranslations/sk.catkeys +++ b/data/catalogs/preferences/datatranslations/sk.catkeys @@ -1,4 +1,4 @@ -1 slovak x-vnd.Haiku-DataTranslations 458105477 +1 slovak x-vnd.Haiku-DataTranslations 3820343452 DataTranslations System name Preklad dát Cancel DataTranslations Zrušiť Name: DataTranslations Názov: @@ -14,6 +14,5 @@ Info DataTranslations Info Path: DataTranslations Cesta: The new translator has been installed successfully. DataTranslations Nový prekladač bol úspešne nainštalovaný. DataTranslations - Error DataTranslations Preklad dát - chyba -Ok DataTranslations OK OK DataTranslations OK Version: DataTranslations Verzia: diff --git a/data/catalogs/preferences/filetypes/be.catkeys b/data/catalogs/preferences/filetypes/be.catkeys index ed9862cedd..8d4f30922e 100644 --- a/data/catalogs/preferences/filetypes/be.catkeys +++ b/data/catalogs/preferences/filetypes/be.catkeys @@ -1,4 +1,4 @@ -1 belarusian x-vnd.Haiku-FileTypes 473999706 +1 belarusian x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window Тыпы праграм… Description: Application Types Window Апісанне: Args only Application Type Window Толькі аргументы @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window Тып: Removing uninstalled application types Application Types Window Выдаленне тыпаў знішчаных праграм Done Attribute Window Зроблена -Set Preferred Application Preferred App Menu Прызначыць Пажаданую Праграму no icon FileTypes Window няма іконкі Alpha Application Types Window Альфа Version Application Types Window Версія diff --git a/data/catalogs/preferences/filetypes/de.catkeys b/data/catalogs/preferences/filetypes/de.catkeys index e760fe5dbd..32c45309b8 100644 --- a/data/catalogs/preferences/filetypes/de.catkeys +++ b/data/catalogs/preferences/filetypes/de.catkeys @@ -1,4 +1,4 @@ -1 german x-vnd.Haiku-FileTypes 473999706 +1 german x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window Anwendungstypen… Description: Application Types Window Beschreibung: Args only Application Type Window Nur Argumente @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window Typ: Removing uninstalled application types Application Types Window Deinstallierte Anwendungen werden entfernt Done Attribute Window Fertig -Set Preferred Application Preferred App Menu Bevorzugte Anwendung setzen no icon FileTypes Window kein Icon Alpha Application Types Window Alpha Version Application Types Window Version diff --git a/data/catalogs/preferences/filetypes/el.catkeys b/data/catalogs/preferences/filetypes/el.catkeys index 340b229840..a4853892e8 100644 --- a/data/catalogs/preferences/filetypes/el.catkeys +++ b/data/catalogs/preferences/filetypes/el.catkeys @@ -1,4 +1,4 @@ -1 greek, modern (1453-) x-vnd.Haiku-FileTypes 473999706 +1 greek, modern (1453-) x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window Τύποι εφαρμογής... Description: Application Types Window Περιγραφή: Args only Application Type Window Μόνο παράμετροι @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window Τύπος: Removing uninstalled application types Application Types Window Αφαίρεση απεγκατεστημένων τύπων εφαρμογών Done Attribute Window Ολοκληρώθηκε -Set Preferred Application Preferred App Menu Ορισμός Προτεινόμενης Εφαρμογής no icon FileTypes Window χωρίς εικονίδιο Alpha Application Types Window Άλφα Version Application Types Window ΈΚδοση diff --git a/data/catalogs/preferences/filetypes/fi.catkeys b/data/catalogs/preferences/filetypes/fi.catkeys index f0d2449e46..55aeb8a283 100644 --- a/data/catalogs/preferences/filetypes/fi.catkeys +++ b/data/catalogs/preferences/filetypes/fi.catkeys @@ -1,4 +1,4 @@ -1 finnish x-vnd.Haiku-FileTypes 473999706 +1 finnish x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window Sovellustyypit… Description: Application Types Window Kuvaus: Args only Application Type Window Vain argumentit @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window Tyyppi: Removing uninstalled application types Application Types Window Poistetaan poistettujen sovellusten tyyppejä Done Attribute Window Valmis -Set Preferred Application Preferred App Menu Aseta ensisijainen sovellus no icon FileTypes Window ei kuvaketta Alpha Application Types Window Alfa Version Application Types Window Versio diff --git a/data/catalogs/preferences/filetypes/fr.catkeys b/data/catalogs/preferences/filetypes/fr.catkeys index 42b2545722..da2d3d289d 100644 --- a/data/catalogs/preferences/filetypes/fr.catkeys +++ b/data/catalogs/preferences/filetypes/fr.catkeys @@ -1,4 +1,4 @@ -1 french x-vnd.Haiku-FileTypes 473999706 +1 french x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window Types d'applications… Description: Application Types Window Description : Args only Application Type Window Arguments seuls @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window Type : Removing uninstalled application types Application Types Window Retrait des types d'applications désinstallées Done Attribute Window Terminé -Set Preferred Application Preferred App Menu Definir l'application préférée no icon FileTypes Window pas d'icône Alpha Application Types Window Alpha Version Application Types Window Version diff --git a/data/catalogs/preferences/filetypes/hi.catkeys b/data/catalogs/preferences/filetypes/hi.catkeys index 80e30bc169..3f2dcaf57c 100644 --- a/data/catalogs/preferences/filetypes/hi.catkeys +++ b/data/catalogs/preferences/filetypes/hi.catkeys @@ -1,4 +1,4 @@ -1 hindi x-vnd.Haiku-FileTypes 473999706 +1 hindi x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window आवेदन के प्रकार... Description: Application Types Window विवरण Args only Application Type Window केवल अर्ग्स @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window प्रकार: Removing uninstalled application types Application Types Window अनिन्स्तोल्ड आवेदन प्रकार को हटाएँ Done Attribute Window हो गया -Set Preferred Application Preferred App Menu पसंदीदा आवेदन सेट करें no icon FileTypes Window कोई चिह्न नहीं Alpha Application Types Window अल्फा Version Application Types Window संस्करण diff --git a/data/catalogs/preferences/filetypes/ja.catkeys b/data/catalogs/preferences/filetypes/ja.catkeys index b6c7835c74..48f345a209 100644 --- a/data/catalogs/preferences/filetypes/ja.catkeys +++ b/data/catalogs/preferences/filetypes/ja.catkeys @@ -1,4 +1,4 @@ -1 japanese x-vnd.Haiku-FileTypes 473999706 +1 japanese x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window アプリケーションタイプ... Description: Application Types Window 説明: Args only Application Type Window 引数のみ @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window タイプ: Removing uninstalled application types Application Types Window アンイントール済アプリケーションのタイプを削除します Done Attribute Window 完了 -Set Preferred Application Preferred App Menu 優先アプリケーションを設定する no icon FileTypes Window アイコン無し Alpha Application Types Window アルファ版 Version Application Types Window バージョン diff --git a/data/catalogs/preferences/filetypes/lt.catkeys b/data/catalogs/preferences/filetypes/lt.catkeys index e34929a7df..9fa6218f33 100644 --- a/data/catalogs/preferences/filetypes/lt.catkeys +++ b/data/catalogs/preferences/filetypes/lt.catkeys @@ -1,4 +1,4 @@ -1 lithuanian x-vnd.Haiku-FileTypes 473999706 +1 lithuanian x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window Programų tipai… Description: Application Types Window Aprašas: Args only Application Type Window Tik argumentai @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window Tipas: Removing uninstalled application types Application Types Window Šalinami išdiegtų programų tipai Done Attribute Window Atlikta -Set Preferred Application Preferred App Menu Skirti pageidautiną programą no icon FileTypes Window be piktogramos Alpha Application Types Window Alfa Version Application Types Window Versija diff --git a/data/catalogs/preferences/filetypes/nb.catkeys b/data/catalogs/preferences/filetypes/nb.catkeys index d31d9fa039..bddd6054c9 100644 --- a/data/catalogs/preferences/filetypes/nb.catkeys +++ b/data/catalogs/preferences/filetypes/nb.catkeys @@ -1,4 +1,4 @@ -1 bokmål, norwegian; norwegian bokmål x-vnd.Haiku-FileTypes 871051909 +1 bokmål, norwegian; norwegian bokmål x-vnd.Haiku-FileTypes 2434319854 Application types… FileTypes Window Programtyper... Description: Application Types Window Beskrivelse Recognition rule is not valid:\n\n FileTypes Window Gjennkjenningsregel er ugyldig:\n\n @@ -81,7 +81,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window Type: Removing uninstalled application types Application Types Window Fjerner avinstallerte programtyper Done Attribute Window Ferdig -Set Preferred Application Preferred App Menu Sett foretrukket program no icon FileTypes Window Ingen ikon Alpha Application Types Window Alfa Version Application Types Window Versjon diff --git a/data/catalogs/preferences/filetypes/nl.catkeys b/data/catalogs/preferences/filetypes/nl.catkeys index 016435dd2b..235c9e7e1e 100644 --- a/data/catalogs/preferences/filetypes/nl.catkeys +++ b/data/catalogs/preferences/filetypes/nl.catkeys @@ -1,4 +1,4 @@ -1 dutch; flemish x-vnd.Haiku-FileTypes 473999706 +1 dutch; flemish x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window Toepassingstypes... Description: Application Types Window Beschrijving: Args only Application Type Window Alleen argumenten @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window Type: Removing uninstalled application types Application Types Window Niet-geïnstalleerde applicatietypes worden verwijderd Done Attribute Window Klaar -Set Preferred Application Preferred App Menu Voorkeurstoepassing instellen no icon FileTypes Window geen icoon Alpha Application Types Window Alfa Version Application Types Window Versie diff --git a/data/catalogs/preferences/filetypes/pl.catkeys b/data/catalogs/preferences/filetypes/pl.catkeys index b5d12feec7..95c6f4f763 100644 --- a/data/catalogs/preferences/filetypes/pl.catkeys +++ b/data/catalogs/preferences/filetypes/pl.catkeys @@ -1,4 +1,4 @@ -1 polish x-vnd.Haiku-FileTypes 473999706 +1 polish x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window Typy aplikacji… Description: Application Types Window Opis: Args only Application Type Window Tylko argumenty @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window Typ: Removing uninstalled application types Application Types Window Usuwanie typów odinstalowanych aplikacji Done Attribute Window Gotowe -Set Preferred Application Preferred App Menu Ustaw preferowaną aplikację no icon FileTypes Window brak ikony Alpha Application Types Window Alpha Version Application Types Window Wersja diff --git a/data/catalogs/preferences/filetypes/ro.catkeys b/data/catalogs/preferences/filetypes/ro.catkeys index aeac35d106..c89695f08b 100644 --- a/data/catalogs/preferences/filetypes/ro.catkeys +++ b/data/catalogs/preferences/filetypes/ro.catkeys @@ -1,4 +1,4 @@ -1 romanian x-vnd.Haiku-FileTypes 473999706 +1 romanian x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window Tipuri de aplicații... Description: Application Types Window Descriere: Args only Application Type Window Doar arg @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window Tip: Removing uninstalled application types Application Types Window Se elimină tipurile de aplicații dezinstalate Done Attribute Window Gata -Set Preferred Application Preferred App Menu Configurează aplicație preferată no icon FileTypes Window fără pictogramă Alpha Application Types Window Alfa Version Application Types Window Versiune diff --git a/data/catalogs/preferences/filetypes/ru.catkeys b/data/catalogs/preferences/filetypes/ru.catkeys index 863329a982..edc810afed 100644 --- a/data/catalogs/preferences/filetypes/ru.catkeys +++ b/data/catalogs/preferences/filetypes/ru.catkeys @@ -1,4 +1,4 @@ -1 russian x-vnd.Haiku-FileTypes 473999706 +1 russian x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window Типы приложений… Description: Application Types Window Описание: Args only Application Type Window Только аргументы @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window Тип: Removing uninstalled application types Application Types Window Очищение удаленных типов приложений Done Attribute Window Готово -Set Preferred Application Preferred App Menu Установить предпочтительное приложение no icon FileTypes Window нет значка Alpha Application Types Window Альфа Version Application Types Window Версия diff --git a/data/catalogs/preferences/filetypes/sk.catkeys b/data/catalogs/preferences/filetypes/sk.catkeys index 536bfefd81..78e9233b2e 100644 --- a/data/catalogs/preferences/filetypes/sk.catkeys +++ b/data/catalogs/preferences/filetypes/sk.catkeys @@ -1,4 +1,4 @@ -1 slovak x-vnd.Haiku-FileTypes 473999706 +1 slovak x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window Typy aplikácií… Description: Application Types Window Popis: Args only Application Type Window Iba argumenty @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window Typ: Removing uninstalled application types Application Types Window Odstraňujú sa typy odinštalovaných aplikácií Done Attribute Window Hotovo -Set Preferred Application Preferred App Menu Nastaviť preferovanú aplikáciu no icon FileTypes Window bez ikony Alpha Application Types Window Alfa Version Application Types Window Verzia diff --git a/data/catalogs/preferences/filetypes/uk.catkeys b/data/catalogs/preferences/filetypes/uk.catkeys index 68d1d66f43..3ffdd7a74f 100644 --- a/data/catalogs/preferences/filetypes/uk.catkeys +++ b/data/catalogs/preferences/filetypes/uk.catkeys @@ -1,4 +1,4 @@ -1 ukrainian x-vnd.Haiku-FileTypes 473999706 +1 ukrainian x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window Типи додатків… Description: Application Types Window Опис: Args only Application Type Window Тільки аргументи @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window Тип: Removing uninstalled application types Application Types Window Видалення типів для невстановлених додатків Done Attribute Window Виконано -Set Preferred Application Preferred App Menu Встановити бажаний додаток no icon FileTypes Window іконка відсутня Alpha Application Types Window Aльфа Version Application Types Window Версія diff --git a/data/catalogs/preferences/filetypes/zh-Hans.catkeys b/data/catalogs/preferences/filetypes/zh-Hans.catkeys index bb5f9f2615..ab3f06c7ae 100644 --- a/data/catalogs/preferences/filetypes/zh-Hans.catkeys +++ b/data/catalogs/preferences/filetypes/zh-Hans.catkeys @@ -1,4 +1,4 @@ -1 english x-vnd.Haiku-FileTypes 473999706 +1 english x-vnd.Haiku-FileTypes 2037267651 Application types… FileTypes Window 应用程序类型... Description: Application Types Window 描述: Args only Application Type Window 仅含参数 @@ -85,7 +85,6 @@ The application \"%s\" does not support this file type.\nAre you sure you want t Type: Attribute Window 类型: Removing uninstalled application types Application Types Window 删除未安装应用类型 Done Attribute Window 完成 -Set Preferred Application Preferred App Menu 设置首选程序 no icon FileTypes Window 无图标 Alpha Application Types Window 内测版 Version Application Types Window 版本 From e77304562da050fbc739b99474f8b5bfad0cf5b2 Mon Sep 17 00:00:00 2001 From: Ryan Leavengood Date: Tue, 7 Aug 2012 00:29:32 -0400 Subject: [PATCH 09/34] Actually sort the translator menu used in ShowImage. There were two problems with the last commit: * the list needed to be outside of the top-level loop. * BList was just broken for sorting translation_format pointers. I fixed this by moving the loop outside and converting the translation_formats to translator_info, which has the translator_id, since that is needed to create the menu item, and would otherwise be unavailable outside the loop. I tried to get this working with BList, but the sorting was completely broken, and converting to BObjectList made the code much, much better and worked great. Screw BList and casting, hurray templated BObjectList. Really fixes #6782. --- headers/os/translation/TranslationUtils.h | 6 ++- src/kits/translation/TranslationUtils.cpp | 66 +++++++++++++++-------- 2 files changed, 47 insertions(+), 25 deletions(-) diff --git a/headers/os/translation/TranslationUtils.h b/headers/os/translation/TranslationUtils.h index 66c927af07..c501bbcb30 100644 --- a/headers/os/translation/TranslationUtils.h +++ b/headers/os/translation/TranslationUtils.h @@ -77,8 +77,10 @@ public: BTranslatorRoster* roster = NULL); private: - static int CompareTranslationFormatByName(const void* format1, - const void* format2); + static translator_info* _BuildTranslatorInfo(const translator_id id, + const translation_format* format); + static int _CompareTranslatorInfoByName(const translator_info* info1, + const translator_info* info2); static color_space sBitmapSpace; }; diff --git a/src/kits/translation/TranslationUtils.cpp b/src/kits/translation/TranslationUtils.cpp index 1d40796214..129a28dd95 100644 --- a/src/kits/translation/TranslationUtils.cpp +++ b/src/kits/translation/TranslationUtils.cpp @@ -17,9 +17,9 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -894,6 +894,8 @@ BTranslationUtils::AddTranslationItems(BMenu *intoMenu, uint32 fromType, if (err < B_OK) return err; + BObjectList infoList; + for (int tix = 0; tix < count; tix++) { const translation_format *formats = NULL; int32 numFormats = 0; @@ -911,34 +913,35 @@ BTranslationUtils::AddTranslationItems(BMenu *intoMenu, uint32 fromType, continue; // Get supported output formats - BList formatList; err = roster->GetOutputFormats(ids[tix], &formats, &numFormats); if (err == B_OK) { for (int oix = 0; oix < numFormats; oix++) { if (formats[oix].type != fromType) { - formatList.AddItem(const_cast( - &formats[oix])); + infoList.AddItem(_BuildTranslatorInfo(ids[tix], + const_cast(&formats[oix]))); } } } + } - // Sort alphabetically by name - formatList.SortItems(&CompareTranslationFormatByName); + // Sort alphabetically by name + infoList.SortItems(&_CompareTranslatorInfoByName); - // Now add the menu items - for (int i = 0; i < formatList.CountItems(); i++) { - translation_format* format = static_cast( - formatList.ItemAt(i)); + // Now add the menu items + for (int i = 0; i < infoList.CountItems(); i++) { + translator_info* info = infoList.ItemAt(i); - BMessage *itemmsg; - if (kModel) - itemmsg = new BMessage(*kModel); - else - itemmsg = new BMessage(B_TRANSLATION_MENU); - itemmsg->AddInt32(kTranslatorIdName, ids[tix]); - itemmsg->AddInt32(kTranslatorTypeName, format->type); - intoMenu->AddItem(new BMenuItem(format->name, itemmsg)); - } + BMessage *itemmsg; + if (kModel) + itemmsg = new BMessage(*kModel); + else + itemmsg = new BMessage(B_TRANSLATION_MENU); + itemmsg->AddInt32(kTranslatorIdName, info->translator); + itemmsg->AddInt32(kTranslatorTypeName, info->type); + intoMenu->AddItem(new BMenuItem(info->name, itemmsg)); + + // Delete object created in _BuildTranslatorInfo + delete info; } delete[] ids; @@ -946,9 +949,26 @@ BTranslationUtils::AddTranslationItems(BMenu *intoMenu, uint32 fromType, } -int -BTranslationUtils::CompareTranslationFormatByName(const void* format1, const void* format2) +translator_info* +BTranslationUtils::_BuildTranslatorInfo(const translator_id id, const translation_format* format) { - return strcasecmp(static_cast(format1)->name, - static_cast(format2)->name); + // Caller must delete + translator_info* info = new translator_info; + + info->translator = id; + info->type = format->type; + info->group = format->group; + info->quality = format->quality; + info->capability = format->capability; + strlcpy(info->name, format->name, sizeof(info->name)); + strlcpy(info->MIME, format->MIME, sizeof(info->MIME)); + + return info; +} + + +int +BTranslationUtils::_CompareTranslatorInfoByName(const translator_info* info1, const translator_info* info2) +{ + return strcasecmp(info1->name, info2->name); } From 9c250a42b8bc094063857e2a465b2773e4a6ab19 Mon Sep 17 00:00:00 2001 From: Ryan Leavengood Date: Tue, 7 Aug 2012 00:47:32 -0400 Subject: [PATCH 10/34] Use BTranslatorUtils::AddTranslationItems in CodyCam. --- src/apps/codycam/CodyCam.cpp | 55 ++---------------------------------- 1 file changed, 2 insertions(+), 53 deletions(-) diff --git a/src/apps/codycam/CodyCam.cpp b/src/apps/codycam/CodyCam.cpp index 6c4038c003..36f17d4bac 100644 --- a/src/apps/codycam/CodyCam.cpp +++ b/src/apps/codycam/CodyCam.cpp @@ -22,7 +22,7 @@ #include #include #include -#include +#include #undef B_TRANSLATION_CONTEXT #define B_TRANSLATION_CONTEXT "CodyCam" @@ -69,57 +69,6 @@ ErrorAlert(const char* message, status_t err, BWindow *window = NULL) } -status_t -AddTranslationItems(BMenu* intoMenu, uint32 fromType) -{ - - BTranslatorRoster* use; - char* translatorTypeName; - const char* translatorIdName; - - use = BTranslatorRoster::Default(); - translatorIdName = "be:translator"; - translatorTypeName = (char *)"be:type"; - translator_id* ids = NULL; - int32 count = 0; - - status_t err = use->GetAllTranslators(&ids, &count); - if (err < B_OK) - return err; - - for (int tix = 0; tix < count; tix++) { - const translation_format* formats = NULL; - int32 num_formats = 0; - bool ok = false; - err = use->GetInputFormats(ids[tix], &formats, &num_formats); - if (err == B_OK) - for (int iix = 0; iix < num_formats; iix++) { - if (formats[iix].type == fromType) { - ok = true; - break; - } - } - - if (!ok) - continue; - - err = use->GetOutputFormats(ids[tix], &formats, &num_formats); - if (err == B_OK) - for (int oix = 0; oix < num_formats; oix++) { - if (formats[oix].type != fromType) { - BMessage* itemmsg; - itemmsg = new BMessage(msg_translate); - itemmsg->AddInt32(translatorIdName, ids[tix]); - itemmsg->AddInt32(translatorTypeName, formats[oix].type); - intoMenu->AddItem(new BMenuItem(formats[oix].name, itemmsg)); - } - } - } - delete[] ids; - return B_OK; -} - - // functions for EnumeratedStringValueSettings const char* @@ -684,7 +633,7 @@ VideoWindow::_BuildCaptureControls() // format menu fImageFormatMenu = new BPopUpMenu(B_TRANSLATE("Image Format Menu")); - AddTranslationItems(fImageFormatMenu, B_TRANSLATOR_BITMAP); + BTranslationUtils::AddTranslationItems(fImageFormatMenu, B_TRANSLATOR_BITMAP); fImageFormatMenu->SetTargetForItems(this); if (fImageFormatSettings->Value() From 472744339b0b8190a4028a76bc8a940c178d6dad Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Mon, 6 Aug 2012 20:39:15 -0500 Subject: [PATCH 11/34] radeon_hd: pick a PLL based on connector * was static PLL 1 --- src/add-ons/accelerants/radeon_hd/mode.cpp | 10 ++++- src/add-ons/accelerants/radeon_hd/pll.cpp | 50 ++++++++++++++++++++-- src/add-ons/accelerants/radeon_hd/pll.h | 3 +- 3 files changed, 56 insertions(+), 7 deletions(-) diff --git a/src/add-ons/accelerants/radeon_hd/mode.cpp b/src/add-ons/accelerants/radeon_hd/mode.cpp index afa9ed02cc..e3bdc20b11 100644 --- a/src/add-ons/accelerants/radeon_hd/mode.cpp +++ b/src/add-ons/accelerants/radeon_hd/mode.cpp @@ -186,8 +186,14 @@ radeon_set_display_mode(display_mode* mode) // *** CRT controler mode set // TODO: program SS - pll_set(ATOM_PPLL1, mode, id); - // TODO: check if ATOM_PPLL1 is used and use ATOM_PPLL2 if so + + // Set up PLL for connector + pll_pick(connectorIndex); + pll_info* pll = &gConnector[connectorIndex]->encoder.pll; + TRACE("%s: pll %d selected for connector %" B_PRIu32 "\n", __func__, + pll->id, connectorIndex); + pll_set(mode, id); + display_crtc_set_dtd(id, mode); display_crtc_fb_set(id, mode); diff --git a/src/add-ons/accelerants/radeon_hd/pll.cpp b/src/add-ons/accelerants/radeon_hd/pll.cpp index 829a367625..3ea25775e6 100644 --- a/src/add-ons/accelerants/radeon_hd/pll.cpp +++ b/src/add-ons/accelerants/radeon_hd/pll.cpp @@ -17,6 +17,7 @@ #include "accelerant_protos.h" #include "accelerant.h" #include "bios.h" +#include "connector.h" #include "display.h" #include "displayport.h" #include "encoder.h" @@ -650,13 +651,12 @@ pll_adjust(pll_info* pll, display_mode* mode, uint8 crtcID) status_t -pll_set(uint8 pllID, display_mode* mode, uint8 crtcID) +pll_set(display_mode* mode, uint8 crtcID) { uint32 connectorIndex = gDisplay[crtcID]->connectorIndex; pll_info* pll = &gConnector[connectorIndex]->encoder.pll; pll->pixelClock = mode->timing.pixel_clock; - pll->id = pllID; pll_setup_flags(pll, crtcID); // set up any special flags @@ -759,7 +759,7 @@ pll_set(uint8 pllID, display_mode* mode, uint8 crtcID) = gConnector[connectorIndex]->encoder.objectID; args.v5.ucEncoderMode = display_get_encoder_mode(connectorIndex); - args.v5.ucPpll = pllID; + args.v5.ucPpll = pll->id; break; case 6: args.v6.ulDispEngClkFreq @@ -790,7 +790,7 @@ pll_set(uint8 pllID, display_mode* mode, uint8 crtcID) args.v6.ucTransmitterID = gConnector[connectorIndex]->encoder.objectID; args.v6.ucEncoderMode = display_get_encoder_mode(connectorIndex); - args.v6.ucPpll = pllID; + args.v6.ucPpll = pll->id; break; default: TRACE("%s: ERROR: table version %" B_PRIu8 ".%" B_PRIu8 " TODO\n", @@ -808,3 +808,45 @@ pll_set(uint8 pllID, display_mode* mode, uint8 crtcID) return result; } + + +status_t +pll_pick(uint32 connectorIndex) +{ + pll_info* pll = &gConnector[connectorIndex]->encoder.pll; + radeon_shared_info &info = *gInfo->shared_info; + + bool linkB = gConnector[connectorIndex]->encoder.linkEnumeration + == GRAPH_OBJECT_ENUM_ID2 ? true : false; + + if (info.dceMajor == 6 && info.dceMinor == 1) { + // DCE 6.1 APU + if (gConnector[connectorIndex]->encoder.objectID + == ENCODER_OBJECT_ID_INTERNAL_UNIPHY && !linkB) { + pll->id = ATOM_PPLL2; + return B_OK; + } + // TODO: check for used PLL1 and use PLL2? + pll->id = ATOM_PPLL1; + return B_OK; + } else if (info.dceMajor >= 4) { + if (connector_is_dp(connectorIndex)) { + if (info.dceMajor >= 6) { + pll->id = ATOM_PPLL1; + return B_OK; + } else if (info.dceMajor >= 5) { + pll->id = ATOM_DCPLL; + return B_OK; + } else if (pll->dpExternalClock) { + pll->id = ATOM_PPLL_INVALID; + return B_OK; + } + } + pll->id = ATOM_PPLL1; + return B_OK; + } + + // TODO: Should return the CRTCID here. + pll->id = ATOM_PPLL1; + return B_OK; +} diff --git a/src/add-ons/accelerants/radeon_hd/pll.h b/src/add-ons/accelerants/radeon_hd/pll.h index 128e6c03ee..2be6e977c1 100644 --- a/src/add-ons/accelerants/radeon_hd/pll.h +++ b/src/add-ons/accelerants/radeon_hd/pll.h @@ -106,7 +106,8 @@ void pll_setup_flags(pll_info* pll, uint8 crtcID); status_t pll_limit_probe(pll_info* pll); status_t pll_dp_ss_probe(pll_info* pll); status_t pll_asic_ss_probe(pll_info* pll); -status_t pll_set(uint8 pllID, display_mode* mode, uint8 crtcID); +status_t pll_set(display_mode* mode, uint8 crtcID); +status_t pll_pick(uint32 connectorIndex); #endif /* RADEON_HD_PLL_H */ From 5f44fcce9fb1c01b24c6d828acb214f1610985f0 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Tue, 7 Aug 2012 07:24:42 -0500 Subject: [PATCH 12/34] radeon_hd: enable non-dp code to execute dpcd queries * Check DPCD to properly choose TRAVIS DP panel mode --- .../accelerants/radeon_hd/displayport.cpp | 4 ++-- src/add-ons/accelerants/radeon_hd/displayport.h | 3 +++ src/add-ons/accelerants/radeon_hd/encoder.cpp | 16 ++++++++++++---- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/add-ons/accelerants/radeon_hd/displayport.cpp b/src/add-ons/accelerants/radeon_hd/displayport.cpp index 4be5968480..2aff239213 100644 --- a/src/add-ons/accelerants/radeon_hd/displayport.cpp +++ b/src/add-ons/accelerants/radeon_hd/displayport.cpp @@ -160,14 +160,14 @@ dp_aux_read(uint32 hwPin, uint16 address, } -static void +void dpcd_reg_write(uint32 hwPin, uint16 address, uint8 value) { dp_aux_write(hwPin, address, &value, 1, 0); } -static uint8 +uint8 dpcd_reg_read(uint32 hwPin, uint16 address) { uint8 value = 0; diff --git a/src/add-ons/accelerants/radeon_hd/displayport.h b/src/add-ons/accelerants/radeon_hd/displayport.h index 4752dc22df..fa06dc6e74 100644 --- a/src/add-ons/accelerants/radeon_hd/displayport.h +++ b/src/add-ons/accelerants/radeon_hd/displayport.h @@ -22,6 +22,9 @@ #define DP_TPS3_SUPPORTED (1 << 6) // Stored within MAX_LANE_COUNT +uint8 dpcd_reg_read(uint32 hwPin, uint16 address); +void dpcd_reg_write(uint32 hwPin, uint16 address, uint8 value); + int dp_aux_write(uint32 hwPin, uint16 address, uint8* send, uint8 sendBytes, uint8 delay); int dp_aux_read(uint32 hwPin, uint16 address, uint8* recv, diff --git a/src/add-ons/accelerants/radeon_hd/encoder.cpp b/src/add-ons/accelerants/radeon_hd/encoder.cpp index 932dccf642..9a0d0b418b 100644 --- a/src/add-ons/accelerants/radeon_hd/encoder.cpp +++ b/src/add-ons/accelerants/radeon_hd/encoder.cpp @@ -589,9 +589,17 @@ encoder_dig_setup(uint32 connectorIndex, uint32 pixelClock, int command) panelMode = DP_PANEL_MODE_INTERNAL_DP1_MODE; else if (connector->encoderExternal.objectID == ENCODER_OBJECT_ID_TRAVIS) { - TRACE("%s: TODO: Travis: read DP confg data, DP1 vs DP2 mode\n", - __func__); - panelMode = DP_PANEL_MODE_INTERNAL_DP1_MODE; + dp_info* dp = &gConnector[connectorIndex]->dpInfo; + uint8 id[6]; + int bit; + for (bit = 0; bit < 6; bit++) + id[bit] = dpcd_reg_read(dp->auxPin, 0x503 + bit); + if (id[0] == 0x73 && id[1] == 0x69 && id[2] == 0x76 + && id[3] == 0x61 && id[4] == 0x72 && id[5] == 0x54) { + panelMode = DP_PANEL_MODE_INTERNAL_DP1_MODE; + } else { + panelMode = DP_PANEL_MODE_INTERNAL_DP2_MODE; + } } else { panelMode = DP_PANEL_MODE_INTERNAL_DP2_MODE; } @@ -1345,7 +1353,7 @@ transmitter_dig_setup(uint32 connectorIndex, uint32 pixelClock, // DP PHY to be clocked from external src if possible if (isDP && pll->dpExternalClock) { // use external clock source - args.v3.acConfig.ucRefClkSource = 2; + args.v3.acConfig.ucRefClkSource = ATOM_DCPLL; } else args.v3.acConfig.ucRefClkSource = pll->id; From 63624e404b5eb6fc11a503331e67ce29af074021 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Tue, 7 Aug 2012 08:53:34 -0500 Subject: [PATCH 13/34] radeon_hd: reorganize some pll code * Move DisplayPort external pixel clock out of pll as this frequency is card-wide. * Add new function to pull display clock frequency and other card-wide settings. * Set displayDefault frequency card-wide * My DisplayPort LVDS bridge laptop now kind of works (a clock somewhere seems a little off though) --- .../accelerants/radeon_hd/accelerant.cpp | 6 ++ .../accelerants/radeon_hd/accelerant.h | 4 + src/add-ons/accelerants/radeon_hd/encoder.cpp | 4 +- src/add-ons/accelerants/radeon_hd/gpu.cpp | 57 ++++++++++++ src/add-ons/accelerants/radeon_hd/gpu.h | 1 + src/add-ons/accelerants/radeon_hd/pll.cpp | 90 +++++++++++++++++-- src/add-ons/accelerants/radeon_hd/pll.h | 5 +- 7 files changed, 153 insertions(+), 14 deletions(-) diff --git a/src/add-ons/accelerants/radeon_hd/accelerant.cpp b/src/add-ons/accelerants/radeon_hd/accelerant.cpp index cf6bb2eca0..fa6b9c4beb 100644 --- a/src/add-ons/accelerants/radeon_hd/accelerant.cpp +++ b/src/add-ons/accelerants/radeon_hd/accelerant.cpp @@ -252,9 +252,15 @@ radeon_init_accelerant(int device) radeon_init_bios(gInfo->rom); + // probe firmware information + radeon_gpu_probe(); + // disable spread spectrum as it requires lots of extra calculations radeon_gpu_ss_disable(); + // program external pll clock + pll_external_init(); + // find GPIO pins from AtomBIOS gpio_probe(); diff --git a/src/add-ons/accelerants/radeon_hd/accelerant.h b/src/add-ons/accelerants/radeon_hd/accelerant.h index 05aa0b2120..6b3d720ace 100644 --- a/src/add-ons/accelerants/radeon_hd/accelerant.h +++ b/src/add-ons/accelerants/radeon_hd/accelerant.h @@ -72,6 +72,10 @@ struct accelerant_info { volatile uint32 dpms_mode; // current driver dpms mode + uint16 maximumPixelClock; + uint32 displayClockFrequency; + uint32 dpExternalClock; + RingQueue* ringQueue[RADEON_QUEUE_MAX]; // Ring buffer command processor }; diff --git a/src/add-ons/accelerants/radeon_hd/encoder.cpp b/src/add-ons/accelerants/radeon_hd/encoder.cpp index 9a0d0b418b..bccae25cd3 100644 --- a/src/add-ons/accelerants/radeon_hd/encoder.cpp +++ b/src/add-ons/accelerants/radeon_hd/encoder.cpp @@ -1351,7 +1351,7 @@ transmitter_dig_setup(uint32 connectorIndex, uint32 pixelClock, // Select the PLL for the PHY // DP PHY to be clocked from external src if possible - if (isDP && pll->dpExternalClock) { + if (isDP && gInfo->dpExternalClock) { // use external clock source args.v3.acConfig.ucRefClkSource = ATOM_DCPLL; } else @@ -1418,7 +1418,7 @@ transmitter_dig_setup(uint32 connectorIndex, uint32 pixelClock, // Select the PLL for the PHY // DP PHY to be clocked from external src if possible if (isDP) { - if (pll->dpExternalClock > 0) { + if (gInfo->dpExternalClock > 0) { args.v4.acConfig.ucRefClkSource = ENCODER_REFCLK_SRC_EXTCLK; } else { diff --git a/src/add-ons/accelerants/radeon_hd/gpu.cpp b/src/add-ons/accelerants/radeon_hd/gpu.cpp index b835d2e671..85c50cac53 100644 --- a/src/add-ons/accelerants/radeon_hd/gpu.cpp +++ b/src/add-ons/accelerants/radeon_hd/gpu.cpp @@ -14,6 +14,7 @@ #include "accelerant_protos.h" #include "accelerant.h" +#include "atom.h" #include "bios.h" #include "utility.h" @@ -30,6 +31,62 @@ #define ERROR(x...) _sPrintf("radeon_hd: " x) +status_t +radeon_gpu_probe() +{ + uint8 tableMajor; + uint8 tableMinor; + uint16 tableOffset; + + gInfo->displayClockFrequency = 0; + gInfo->dpExternalClock = 0; + + int index = GetIndexIntoMasterTable(DATA, FirmwareInfo); + if (atom_parse_data_header(gAtomContext, index, NULL, + &tableMajor, &tableMinor, &tableOffset) != B_OK) { + ERROR("%s: Couldn't parse data header\n", __func__); + return B_ERROR; + } + + TRACE("%s: table %" B_PRIu8 ".%" B_PRIu8 "\n", __func__, + tableMajor, tableMinor); + + union atomFirmwareInfo { + ATOM_FIRMWARE_INFO info; + ATOM_FIRMWARE_INFO_V1_2 info_12; + ATOM_FIRMWARE_INFO_V1_3 info_13; + ATOM_FIRMWARE_INFO_V1_4 info_14; + ATOM_FIRMWARE_INFO_V2_1 info_21; + ATOM_FIRMWARE_INFO_V2_2 info_22; + }; + union atomFirmwareInfo* firmwareInfo + = (union atomFirmwareInfo*)(gAtomContext->bios + tableOffset); + + radeon_shared_info &info = *gInfo->shared_info; + + if (info.dceMajor >= 4) { + gInfo->displayClockFrequency = B_LENDIAN_TO_HOST_INT32( + firmwareInfo->info_21.ulDefaultDispEngineClkFreq); + if (gInfo->displayClockFrequency == 0) { + if (info.dceMajor >= 5) + gInfo->displayClockFrequency = 54000; + else + gInfo->displayClockFrequency = 60000; + } + gInfo->dpExternalClock = B_LENDIAN_TO_HOST_INT16( + firmwareInfo->info_21.usUniphyDPModeExtClkFreq); + } + + gInfo->maximumPixelClock = B_LENDIAN_TO_HOST_INT16( + firmwareInfo->info.usMaxPixelClock); + + if (gInfo->maximumPixelClock == 0) + gInfo->maximumPixelClock = 40000; + + return B_OK; +} + + status_t radeon_gpu_reset() { diff --git a/src/add-ons/accelerants/radeon_hd/gpu.h b/src/add-ons/accelerants/radeon_hd/gpu.h index d9586c9ae1..f0c0fb687b 100644 --- a/src/add-ons/accelerants/radeon_hd/gpu.h +++ b/src/add-ons/accelerants/radeon_hd/gpu.h @@ -164,6 +164,7 @@ #define SOFT_RESET_IA (1 << 15) +status_t radeon_gpu_probe(); status_t radeon_gpu_reset(); void radeon_gpu_mc_halt(struct gpu_state *gpuState); void radeon_gpu_mc_resume(struct gpu_state *gpuState); diff --git a/src/add-ons/accelerants/radeon_hd/pll.cpp b/src/add-ons/accelerants/radeon_hd/pll.cpp index 3ea25775e6..79b0cb7c54 100644 --- a/src/add-ons/accelerants/radeon_hd/pll.cpp +++ b/src/add-ons/accelerants/radeon_hd/pll.cpp @@ -38,8 +38,6 @@ extern "C" void _sPrintf(const char* format, ...); status_t pll_limit_probe(pll_info* pll) { - radeon_shared_info &info = *gInfo->shared_info; - uint8 tableMajor; uint8 tableMinor; uint16 tableOffset; @@ -120,12 +118,6 @@ pll_limit_probe(pll_info* pll) pll->pllInMax = B_LENDIAN_TO_HOST_INT16( firmwareInfo->info.usMaxPixelClockPLL_Input) * 10; - if (info.dceMajor >= 4) { - pll->dpExternalClock = B_LENDIAN_TO_HOST_INT16( - firmwareInfo->info_21.usUniphyDPModeExtClkFreq); - } else - pll->dpExternalClock = 0; - TRACE("%s: referenceFreq: %" B_PRIu16 "; pllOutMin: %" B_PRIu16 "; " " pllOutMax: %" B_PRIu16 "; pllInMin: %" B_PRIu16 ";" "pllInMax: %" B_PRIu16 "\n", __func__, pll->referenceFreq, @@ -810,6 +802,86 @@ pll_set(display_mode* mode, uint8 crtcID) } +status_t +pll_external_set(uint32 clock) +{ + TRACE("%s: set external pll clock to %" B_PRIu32 "\n", __func__, clock); + + if (clock == 0) + ERROR("%s: Warning: default display clock is 0?\n", __func__); + + // also known as PLL display engineering + uint8 tableMajor; + uint8 tableMinor; + + int index = GetIndexIntoMasterTable(COMMAND, SetPixelClock); + atom_parse_cmd_header(gAtomContext, index, &tableMajor, &tableMinor); + + TRACE("%s: table %" B_PRIu8 ".%" B_PRIu8 "\n", __func__, + tableMajor, tableMinor); + + union setPixelClock { + SET_PIXEL_CLOCK_PS_ALLOCATION base; + PIXEL_CLOCK_PARAMETERS v1; + PIXEL_CLOCK_PARAMETERS_V2 v2; + PIXEL_CLOCK_PARAMETERS_V3 v3; + PIXEL_CLOCK_PARAMETERS_V5 v5; + PIXEL_CLOCK_PARAMETERS_V6 v6; + }; + union setPixelClock args; + memset(&args, 0, sizeof(args)); + + radeon_shared_info &info = *gInfo->shared_info; + uint32 dceVersion = (info.dceMajor * 100) + info.dceMinor; + switch (tableMajor) { + case 1: + switch(tableMinor) { + case 5: + // If the default DC PLL clock is specified, + // SetPixelClock provides the dividers. + args.v5.ucCRTC = ATOM_CRTC_INVALID; + args.v5.usPixelClock = B_HOST_TO_LENDIAN_INT16(clock); + args.v5.ucPpll = ATOM_DCPLL; + break; + case 6: + // If the default DC PLL clock is specified, + // SetPixelClock provides the dividers. + args.v6.ulDispEngClkFreq = B_HOST_TO_LENDIAN_INT32(clock); + if (dceVersion == 601) + args.v6.ucPpll = ATOM_EXT_PLL1; + else if (dceVersion >= 600) + args.v6.ucPpll = ATOM_PPLL0; + else + args.v6.ucPpll = ATOM_DCPLL; + break; + default: + ERROR("%s: Unknown table version %" B_PRIu8 + ".%" B_PRIu8 "\n", __func__, tableMajor, tableMinor); + } + break; + default: + ERROR("%s: Unknown table version %" B_PRIu8 + ".%" B_PRIu8 "\n", __func__, tableMajor, tableMinor); + } + return B_OK; +} + + +void +pll_external_init() +{ + radeon_shared_info &info = *gInfo->shared_info; + + if (info.dceMajor >= 6) { + pll_external_set(gInfo->displayClockFrequency); + } else if (info.dceMajor >= 4) { + // TODO: SS enabled? disable + pll_external_set(gInfo->displayClockFrequency); + // TODO: SS enabled? enable + } +} + + status_t pll_pick(uint32 connectorIndex) { @@ -837,7 +909,7 @@ pll_pick(uint32 connectorIndex) } else if (info.dceMajor >= 5) { pll->id = ATOM_DCPLL; return B_OK; - } else if (pll->dpExternalClock) { + } else if (gInfo->dpExternalClock) { pll->id = ATOM_PPLL_INVALID; return B_OK; } diff --git a/src/add-ons/accelerants/radeon_hd/pll.h b/src/add-ons/accelerants/radeon_hd/pll.h index 2be6e977c1..c04f042597 100644 --- a/src/add-ons/accelerants/radeon_hd/pll.h +++ b/src/add-ons/accelerants/radeon_hd/pll.h @@ -49,9 +49,6 @@ struct pll_info { /* pixel clock to be programmed (kHz)*/ uint32 pixelClock; - /* external DisplayPort clock freq */ - uint32 dpExternalClock; - /* flags for the current clock */ uint32 flags; @@ -100,6 +97,8 @@ struct pll_info { }; +void pll_external_init(); +status_t pll_external_set(uint32 clock); status_t pll_adjust(pll_info* pll, display_mode* mode, uint8 crtcID); status_t pll_compute(pll_info* pll); void pll_setup_flags(pll_info* pll, uint8 crtcID); From 817c114de7e2e71d98adccb66358e94244a1486a Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Tue, 7 Aug 2012 13:20:52 -0500 Subject: [PATCH 14/34] radeon_hd: rework some pll code * Force fractional feedback divider on APU's * Spread Spectrum is now probed more correctly across multiple encoders and cards * SS still disabled however. --- .../accelerants/radeon_hd/accelerant.cpp | 3 - .../accelerants/radeon_hd/accelerant.h | 2 + .../accelerants/radeon_hd/connector.cpp | 3 + src/add-ons/accelerants/radeon_hd/display.cpp | 3 +- src/add-ons/accelerants/radeon_hd/gpu.cpp | 68 +++++++++++++------ src/add-ons/accelerants/radeon_hd/gpu.h | 5 +- src/add-ons/accelerants/radeon_hd/pll.cpp | 49 ++++++++++--- src/add-ons/accelerants/radeon_hd/pll.h | 4 +- 8 files changed, 100 insertions(+), 37 deletions(-) diff --git a/src/add-ons/accelerants/radeon_hd/accelerant.cpp b/src/add-ons/accelerants/radeon_hd/accelerant.cpp index fa6b9c4beb..c6bd9f0f79 100644 --- a/src/add-ons/accelerants/radeon_hd/accelerant.cpp +++ b/src/add-ons/accelerants/radeon_hd/accelerant.cpp @@ -255,9 +255,6 @@ radeon_init_accelerant(int device) // probe firmware information radeon_gpu_probe(); - // disable spread spectrum as it requires lots of extra calculations - radeon_gpu_ss_disable(); - // program external pll clock pll_external_init(); diff --git a/src/add-ons/accelerants/radeon_hd/accelerant.h b/src/add-ons/accelerants/radeon_hd/accelerant.h index 6b3d720ace..4f5379a792 100644 --- a/src/add-ons/accelerants/radeon_hd/accelerant.h +++ b/src/add-ons/accelerants/radeon_hd/accelerant.h @@ -76,6 +76,8 @@ struct accelerant_info { uint32 displayClockFrequency; uint32 dpExternalClock; + uint32 lvdsSpreadSpectrumID; + RingQueue* ringQueue[RADEON_QUEUE_MAX]; // Ring buffer command processor }; diff --git a/src/add-ons/accelerants/radeon_hd/connector.cpp b/src/add-ons/accelerants/radeon_hd/connector.cpp index 5cc325f82d..31e303f0bf 100644 --- a/src/add-ons/accelerants/radeon_hd/connector.cpp +++ b/src/add-ons/accelerants/radeon_hd/connector.cpp @@ -200,6 +200,9 @@ connector_read_mode_lvds(uint32 connectorIndex, display_mode* mode) // Store special lvds flags the encoder setup needs gConnector[connectorIndex]->lvdsFlags = lvdsInfo->info.ucLVDS_Misc; + // Spread Spectrum ID (in SS table) + gInfo->lvdsSpreadSpectrumID = lvdsInfo->info.ucSS_Id; + uint16 flags = B_LENDIAN_TO_HOST_INT16( lvdsInfo->info.sLCDTiming.susModeMiscInfo.usAccess); diff --git a/src/add-ons/accelerants/radeon_hd/display.cpp b/src/add-ons/accelerants/radeon_hd/display.cpp index 8f3c7479d6..4f79734f30 100644 --- a/src/add-ons/accelerants/radeon_hd/display.cpp +++ b/src/add-ons/accelerants/radeon_hd/display.cpp @@ -951,8 +951,7 @@ display_crtc_ss(uint8 crtcID, int command) } else if (info.dceMajor >= 2) { if ((command == ATOM_DISABLE) || (pll->ssPercentage == 0) || (pll->ssType & ATOM_EXTERNAL_SS_MASK)) { - // TODO: gpu_ss_disable needs pll id - radeon_gpu_ss_disable(); + radeon_gpu_ss_control(pll, false); return; } args.lvds_ss_2.usSpreadSpectrumPercentage diff --git a/src/add-ons/accelerants/radeon_hd/gpu.cpp b/src/add-ons/accelerants/radeon_hd/gpu.cpp index 85c50cac53..3e006b602b 100644 --- a/src/add-ons/accelerants/radeon_hd/gpu.cpp +++ b/src/add-ons/accelerants/radeon_hd/gpu.cpp @@ -16,6 +16,7 @@ #include "accelerant.h" #include "atom.h" #include "bios.h" +#include "pll.h" #include "utility.h" @@ -715,7 +716,7 @@ radeon_gpu_ring_boot(uint32 ringType) status_t -radeon_gpu_ss_disable() +radeon_gpu_ss_control(pll_info* pll, bool enable) { TRACE("%s called\n", __func__); @@ -723,25 +724,52 @@ radeon_gpu_ss_disable() uint32 ssControl; if (info.chipsetID >= RADEON_CEDAR) { - // PLL1 - ssControl = Read32(OUT, EVERGREEN_P1PLL_SS_CNTL); - ssControl &= ~EVERGREEN_PxPLL_SS_EN; - Write32(OUT, EVERGREEN_P1PLL_SS_CNTL, ssControl); - // PLL2 - ssControl = Read32(OUT, EVERGREEN_P2PLL_SS_CNTL); - ssControl &= ~EVERGREEN_PxPLL_SS_EN; - Write32(OUT, EVERGREEN_P2PLL_SS_CNTL, ssControl); + switch (pll->id) { + case ATOM_PPLL1: + // PLL1 + ssControl = Read32(OUT, EVERGREEN_P1PLL_SS_CNTL); + if (enable) + ssControl |= EVERGREEN_PxPLL_SS_EN; + else + ssControl &= ~EVERGREEN_PxPLL_SS_EN; + Write32(OUT, EVERGREEN_P1PLL_SS_CNTL, ssControl); + break; + case ATOM_PPLL2: + // PLL2 + ssControl = Read32(OUT, EVERGREEN_P2PLL_SS_CNTL); + if (enable) + ssControl |= EVERGREEN_PxPLL_SS_EN; + else + ssControl &= ~EVERGREEN_PxPLL_SS_EN; + Write32(OUT, EVERGREEN_P2PLL_SS_CNTL, ssControl); + break; + } + // DCPLL, no action + return B_OK; } else if (info.chipsetID >= RADEON_RS600) { - // PLL1 - ssControl = Read32(OUT, AVIVO_P1PLL_INT_SS_CNTL); - ssControl &= ~1; - Write32(OUT, AVIVO_P1PLL_INT_SS_CNTL, ssControl); - // PLL2 - ssControl = Read32(OUT, AVIVO_P2PLL_INT_SS_CNTL); - ssControl &= ~1; - Write32(OUT, AVIVO_P2PLL_INT_SS_CNTL, ssControl); - } else - return B_ERROR; + switch (pll->id) { + case ATOM_PPLL1: + // PLL1 + ssControl = Read32(OUT, AVIVO_P1PLL_INT_SS_CNTL); + if (enable) + ssControl |= 1; + else + ssControl &= ~1; + Write32(OUT, AVIVO_P1PLL_INT_SS_CNTL, ssControl); + break; + case ATOM_PPLL2: + // PLL2 + ssControl = Read32(OUT, AVIVO_P2PLL_INT_SS_CNTL); + if (enable) + ssControl |= 1; + else + ssControl &= ~1; + Write32(OUT, AVIVO_P2PLL_INT_SS_CNTL, ssControl); + break; + } + // DCPLL, no action + return B_OK; + } - return B_OK; + return B_ERROR; } diff --git a/src/add-ons/accelerants/radeon_hd/gpu.h b/src/add-ons/accelerants/radeon_hd/gpu.h index f0c0fb687b..d39d7a4ca8 100644 --- a/src/add-ons/accelerants/radeon_hd/gpu.h +++ b/src/add-ons/accelerants/radeon_hd/gpu.h @@ -13,6 +13,8 @@ #include +#include "pll.h" + // GPU Control registers. These are combined as // the registers exist on all models, some flags @@ -172,7 +174,8 @@ status_t radeon_gpu_mc_idlewait(); status_t radeon_gpu_mc_setup(); status_t radeon_gpu_ring_setup(); status_t radeon_gpu_ring_boot(uint32 ringType); -status_t radeon_gpu_ss_disable(); +status_t radeon_gpu_ss_control(pll_info* pll, bool enable); + #endif diff --git a/src/add-ons/accelerants/radeon_hd/pll.cpp b/src/add-ons/accelerants/radeon_hd/pll.cpp index 79b0cb7c54..3c0c94fd42 100644 --- a/src/add-ons/accelerants/radeon_hd/pll.cpp +++ b/src/add-ons/accelerants/radeon_hd/pll.cpp @@ -128,7 +128,7 @@ pll_limit_probe(pll_info* pll) status_t -pll_dp_ss_probe(pll_info* pll) +pll_ppll_ss_probe(pll_info* pll, uint32 ssID) { uint8 tableMajor; uint8 tableMinor; @@ -151,7 +151,7 @@ pll_dp_ss_probe(pll_info* pll) int i; for (i = 0; i < indices; i++) { - if (ss_info->asSS_Info[i].ucSS_Id == pll->id) { + if (ss_info->asSS_Info[i].ucSS_Id == ssID) { pll->ssPercentage = B_LENDIAN_TO_HOST_INT16( ss_info->asSS_Info[i].usSpreadSpectrumPercentage); pll->ssType = ss_info->asSS_Info[i].ucSpreadSpectrumType; @@ -175,7 +175,7 @@ pll_dp_ss_probe(pll_info* pll) status_t -pll_asic_ss_probe(pll_info* pll) +pll_asic_ss_probe(pll_info* pll, uint32 ssID) { uint8 tableMajor; uint8 tableMinor; @@ -207,7 +207,7 @@ pll_asic_ss_probe(pll_info* pll) for (i = 0; i < indices; i++) { if (ss_info->info.asSpreadSpectrum[i].ucClockIndication - != pll->id) { + != ssID) { continue; } TRACE("%s: ss match found\n", __func__); @@ -234,7 +234,7 @@ pll_asic_ss_probe(pll_info* pll) for (i = 0; i < indices; i++) { if (ss_info->info_2.asSpreadSpectrum[i].ucClockIndication - != pll->id) { + != ssID) { continue; } TRACE("%s: ss match found\n", __func__); @@ -262,7 +262,7 @@ pll_asic_ss_probe(pll_info* pll) for (i = 0; i < indices; i++) { if (ss_info->info_3.asSpreadSpectrum[i].ucClockIndication - != pll->id) { + != ssID) { continue; } TRACE("%s: ss match found\n", __func__); @@ -492,6 +492,11 @@ pll_setup_flags(pll_info* pll, uint8 crtcID) if ((encoderFlags & ATOM_DEVICE_TV_SUPPORT) != 0) pll->flags |= PLL_PREFER_CLOSEST_LOWER; + + if ((info.chipsetFlags & CHIP_APU) != 0) { + // Use fractional feedback on APU's + pll->flags |= PLL_USE_FRAC_FB_DIV; + } } @@ -657,12 +662,38 @@ pll_set(display_mode* mode, uint8 crtcID) pll_compute(pll); // compute dividers - pll_asic_ss_probe(pll); - // probe spread spectrum metrics (TODO: pll_dp_ss_probe) + radeon_shared_info &info = *gInfo->shared_info; + pll->ssType = 0; + + switch (display_get_encoder_mode(connectorIndex)) { + case ATOM_ENCODER_MODE_DP_MST: + case ATOM_ENCODER_MODE_DP: + if (info.dceMajor >= 4) + pll_asic_ss_probe(pll, ASIC_INTERNAL_SS_ON_DP); + else { + // TODO: DP Clock == 1.62Ghz? + pll_ppll_ss_probe(pll, ATOM_DP_SS_ID1); + } + break; + case ATOM_ENCODER_MODE_LVDS: + if (info.dceMajor >= 4) + pll_asic_ss_probe(pll, gInfo->lvdsSpreadSpectrumID); + else + pll_ppll_ss_probe(pll, gInfo->lvdsSpreadSpectrumID); + break; + case ATOM_ENCODER_MODE_DVI: + if (info.dceMajor >= 4) + pll_asic_ss_probe(pll, ASIC_INTERNAL_SS_ON_TMDS); + break; + case ATOM_ENCODER_MODE_HDMI: + if (info.dceMajor >= 4) + pll_asic_ss_probe(pll, ASIC_INTERNAL_SS_ON_HDMI); + break; + } + display_crtc_ss(crtcID, ATOM_DISABLE); // disable ss - uint8 tableMajor; uint8 tableMinor; diff --git a/src/add-ons/accelerants/radeon_hd/pll.h b/src/add-ons/accelerants/radeon_hd/pll.h index c04f042597..899aca32ee 100644 --- a/src/add-ons/accelerants/radeon_hd/pll.h +++ b/src/add-ons/accelerants/radeon_hd/pll.h @@ -103,8 +103,8 @@ status_t pll_adjust(pll_info* pll, display_mode* mode, uint8 crtcID); status_t pll_compute(pll_info* pll); void pll_setup_flags(pll_info* pll, uint8 crtcID); status_t pll_limit_probe(pll_info* pll); -status_t pll_dp_ss_probe(pll_info* pll); -status_t pll_asic_ss_probe(pll_info* pll); +status_t pll_ppll_ss_probe(pll_info* pll, uint32 ssID); +status_t pll_asic_ss_probe(pll_info* pll, uint32 ssID); status_t pll_set(display_mode* mode, uint8 crtcID); status_t pll_pick(uint32 connectorIndex); From 772f5f839c61c1fbb32d77784bbcdd8859c87a2a Mon Sep 17 00:00:00 2001 From: x-ist <-@-.-> Date: Thu, 2 Aug 2012 19:35:45 +0000 Subject: [PATCH 15/34] Since the search pattern is wrapped in double quotes for grep, the symbol ' (apostrophe) must not be escaped. Fixes #8776. Signed-off-by: Matt Madia --- src/apps/text_search/Grepper.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/apps/text_search/Grepper.cpp b/src/apps/text_search/Grepper.cpp index 053dcbb47c..a20103e7d0 100644 --- a/src/apps/text_search/Grepper.cpp +++ b/src/apps/text_search/Grepper.cpp @@ -302,8 +302,7 @@ Grepper::_SetPattern(const char* src) || (c == '?') || (c == '*') || (c == '+') || (c == '-') || (c == ':') || (c == '^') - || (c == '\'') || (c == '"') - || (c == '`')) { + || (c == '"') || (c == '`')) { *dstPtr++ = '\\'; } else if ((c == '\\') || (c == '$')) { // Some characters need to be escaped From d96e68765247f837b3787879cfcde72d3311d4d2 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Tue, 7 Aug 2012 15:31:05 -0500 Subject: [PATCH 16/34] radeon_hd: re-rework some pll code * Grab pseudo pll SS info for early Spread Spectrum access * display_crtc_ss now takes a pll vs a display for easy pll access --- src/add-ons/accelerants/radeon_hd/accelerant.cpp | 6 +++--- src/add-ons/accelerants/radeon_hd/display.cpp | 5 +---- src/add-ons/accelerants/radeon_hd/display.h | 3 ++- src/add-ons/accelerants/radeon_hd/pll.cpp | 16 ++++++++++++---- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/add-ons/accelerants/radeon_hd/accelerant.cpp b/src/add-ons/accelerants/radeon_hd/accelerant.cpp index c6bd9f0f79..b516dcb341 100644 --- a/src/add-ons/accelerants/radeon_hd/accelerant.cpp +++ b/src/add-ons/accelerants/radeon_hd/accelerant.cpp @@ -255,9 +255,6 @@ radeon_init_accelerant(int device) // probe firmware information radeon_gpu_probe(); - // program external pll clock - pll_external_init(); - // find GPIO pins from AtomBIOS gpio_probe(); @@ -280,6 +277,9 @@ radeon_init_accelerant(int device) // setup encoders on each connector if needed encoder_init(); + // program external pll clock + pll_external_init(); + // setup link on any DisplayPort connectors dp_setup_connectors(); diff --git a/src/add-ons/accelerants/radeon_hd/display.cpp b/src/add-ons/accelerants/radeon_hd/display.cpp index 4f79734f30..41b4b828ce 100644 --- a/src/add-ons/accelerants/radeon_hd/display.cpp +++ b/src/add-ons/accelerants/radeon_hd/display.cpp @@ -843,7 +843,7 @@ display_crtc_set_dtd(uint8 crtcID, display_mode* mode) void -display_crtc_ss(uint8 crtcID, int command) +display_crtc_ss(pll_info* pll, int command) { TRACE("%s\n", __func__); radeon_shared_info &info = *gInfo->shared_info; @@ -867,9 +867,6 @@ display_crtc_ss(uint8 crtcID, int command) union enableSS args; memset(&args, 0, sizeof(args)); - uint32 connectorIndex = gDisplay[crtcID]->connectorIndex; - pll_info* pll = &gConnector[connectorIndex]->encoder.pll; - if (info.dceMajor >= 5) { args.v3.usSpreadSpectrumAmountFrac = B_HOST_TO_LENDIAN_INT16(0); args.v3.ucSpreadSpectrumType diff --git a/src/add-ons/accelerants/radeon_hd/display.h b/src/add-ons/accelerants/radeon_hd/display.h index 67a0e6770f..93c25e1b32 100644 --- a/src/add-ons/accelerants/radeon_hd/display.h +++ b/src/add-ons/accelerants/radeon_hd/display.h @@ -12,6 +12,7 @@ #include #include "accelerant.h" +#include "pll.h" status_t init_registers(register_info* reg, uint8 crtid); @@ -20,7 +21,7 @@ status_t detect_displays(); void debug_displays(); uint32 display_get_encoder_mode(uint32 connectorIndex); -void display_crtc_ss(uint8 crtcID, int command); +void display_crtc_ss(pll_info* pll, int command); void display_crtc_lock(uint8 crtcID, int command); void display_crtc_blank(uint8 crtcID, int command); void display_crtc_dpms(uint8 crtcID, int mode); diff --git a/src/add-ons/accelerants/radeon_hd/pll.cpp b/src/add-ons/accelerants/radeon_hd/pll.cpp index 3c0c94fd42..1bec580de5 100644 --- a/src/add-ons/accelerants/radeon_hd/pll.cpp +++ b/src/add-ons/accelerants/radeon_hd/pll.cpp @@ -691,7 +691,7 @@ pll_set(display_mode* mode, uint8 crtcID) break; } - display_crtc_ss(crtcID, ATOM_DISABLE); + display_crtc_ss(pll, ATOM_DISABLE); // disable ss uint8 tableMajor; @@ -826,7 +826,7 @@ pll_set(display_mode* mode, uint8 crtcID) status_t result = atom_execute_table(gAtomContext, index, (uint32*)&args); - //display_crtc_ss(crtcID, ATOM_ENABLE); + //display_crtc_ss(pll, ATOM_ENABLE); // Not yet, lets avoid this. return result; @@ -906,9 +906,17 @@ pll_external_init() if (info.dceMajor >= 6) { pll_external_set(gInfo->displayClockFrequency); } else if (info.dceMajor >= 4) { - // TODO: SS enabled? disable + // Create our own pseudo pll + pll_info pll; + bool ssPresent = pll_asic_ss_probe(&pll, ASIC_INTERNAL_SS_ON_DCPLL) + == B_OK ? true : false; + if (ssPresent) + display_crtc_ss(&pll, ATOM_DISABLE); pll_external_set(gInfo->displayClockFrequency); - // TODO: SS enabled? enable + #if 0 + if (ssPresent) + display_crtc_ss(&pll, ATOM_ENABLE); + #endif } } From 59b4be8cc188ed5c61c58433673d2a57dcc1618d Mon Sep 17 00:00:00 2001 From: Hamish Morrison Date: Sat, 4 Aug 2012 03:05:05 +0100 Subject: [PATCH 17/34] Move SoundConsumer to libmedia in the BPrivate namespace MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Duval --- .../private/media}/SoundConsumer.h | 6 ++- .../private/media}/SoundUtils.h | 0 src/apps/soundrecorder/Jamfile | 4 +- src/apps/soundrecorder/RecorderWindow.h | 10 ++++- src/apps/soundrecorder/SoundPrivate.h | 41 ------------------- src/kits/media/Jamfile | 2 + .../media}/SoundConsumer.cpp | 30 +++++++++++++- .../media}/SoundUtils.cpp | 0 8 files changed, 46 insertions(+), 47 deletions(-) rename {src/apps/soundrecorder => headers/private/media}/SoundConsumer.h (99%) rename {src/apps/soundrecorder => headers/private/media}/SoundUtils.h (100%) delete mode 100644 src/apps/soundrecorder/SoundPrivate.h rename src/{apps/soundrecorder => kits/media}/SoundConsumer.cpp (96%) rename src/{apps/soundrecorder => kits/media}/SoundUtils.cpp (100%) diff --git a/src/apps/soundrecorder/SoundConsumer.h b/headers/private/media/SoundConsumer.h similarity index 99% rename from src/apps/soundrecorder/SoundConsumer.h rename to headers/private/media/SoundConsumer.h index 28dcaaeacd..c51dcc328d 100644 --- a/src/apps/soundrecorder/SoundConsumer.h +++ b/headers/private/media/SoundConsumer.h @@ -31,6 +31,8 @@ #include #include "SoundUtils.h" +namespace BPrivate { + class SoundConsumer : public BBufferConsumer { public: @@ -143,5 +145,7 @@ private: }; -#endif // SOUND_CONSUMER_H +} + +#endif // SOUND_CONSUMER_H diff --git a/src/apps/soundrecorder/SoundUtils.h b/headers/private/media/SoundUtils.h similarity index 100% rename from src/apps/soundrecorder/SoundUtils.h rename to headers/private/media/SoundUtils.h diff --git a/src/apps/soundrecorder/Jamfile b/src/apps/soundrecorder/Jamfile index 5c798f5c5a..49966af798 100644 --- a/src/apps/soundrecorder/Jamfile +++ b/src/apps/soundrecorder/Jamfile @@ -2,7 +2,7 @@ SubDir HAIKU_TOP src apps soundrecorder ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders shared ; +UsePrivateHeaders shared media ; Application SoundRecorder : DrawButton.cpp @@ -11,9 +11,7 @@ Application SoundRecorder : RecorderApp.cpp RecorderWindow.cpp ScopeView.cpp - SoundConsumer.cpp SoundListView.cpp - SoundUtils.cpp TrackSlider.cpp TransportButton.cpp UpDownButton.cpp diff --git a/src/apps/soundrecorder/RecorderWindow.h b/src/apps/soundrecorder/RecorderWindow.h index 63f6b01c4b..16883348c9 100644 --- a/src/apps/soundrecorder/RecorderWindow.h +++ b/src/apps/soundrecorder/RecorderWindow.h @@ -29,17 +29,25 @@ #include "VolumeSlider.h" #include "VUView.h" + class BMediaRoster; class BBox; class BButton; class BCheckBox; class BMenuField; -class SoundConsumer; class SoundListView; class BScrollView; class BSlider; class BStringView; +namespace BPrivate { +class SoundConsumer; +} + + +using BPrivate::SoundConsumer; + + class RecorderWindow : public BWindow { public: RecorderWindow(); diff --git a/src/apps/soundrecorder/SoundPrivate.h b/src/apps/soundrecorder/SoundPrivate.h deleted file mode 100644 index a50a8b67e9..0000000000 --- a/src/apps/soundrecorder/SoundPrivate.h +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* -/ -/ File: SoundPrivate.h -/ -/ Description: Implementation headers for SoundConsumer and SoundProducer. -/ -/ Copyright 1998-1999, Be Incorporated, All Rights Reserved -/ -*******************************************************************************/ - -#if ! defined( _SoundPrivate_h ) -#define _SoundPrivate_h - -// The following are implementation details that we don't -// want to expose to the world at large. - -#include "SoundUtils.h" - -// This structure is the body of a request that we use to -// implement SetHooks(). -struct set_hooks_q { - port_id reply; - void * cookie; - SoundProcessFunc process; - SoundNotifyFunc notify; -}; - -// All incoming buffers and Media Kit requests arrive at a -// media node in the form of messages (which are generally -// dispatched for you by your superclasses' HandleMessage -// implementations). Each message has a 'type' which is -// analagous to a BMessage's 'what' field. We'll define our -// own private message types for our SoundConsumer and -// SoundProducer to use. The BeOS reserves a range, -// 0x60000000 to 0x7fffffff, for us to use. -enum { - MSG_QUIT_NOW = 0x60000000L, - MSG_CHANGE_HOOKS -}; - -#endif /* _SoundPrivate_h */ diff --git a/src/kits/media/Jamfile b/src/kits/media/Jamfile index 0510eab2e1..610e3f1064 100644 --- a/src/kits/media/Jamfile +++ b/src/kits/media/Jamfile @@ -16,6 +16,7 @@ if $(CHECK_MALLOC) { SharedLibrary libmedia.so : # Private Media Kit !missing_symbols.cpp + SoundConsumer.cpp # Public Media Kit Buffer.cpp @@ -59,6 +60,7 @@ SharedLibrary libmedia.so : TimeSourceObject.cpp TimeSourceObjectManager.cpp SoundPlayNode.cpp + SoundUtils.cpp # Old (R3) Media Kit (built only for GCC2) OldAudioModule.cpp diff --git a/src/apps/soundrecorder/SoundConsumer.cpp b/src/kits/media/SoundConsumer.cpp similarity index 96% rename from src/apps/soundrecorder/SoundConsumer.cpp rename to src/kits/media/SoundConsumer.cpp index c5184029be..41c49b56d2 100644 --- a/src/apps/soundrecorder/SoundConsumer.cpp +++ b/src/kits/media/SoundConsumer.cpp @@ -18,12 +18,14 @@ #include #include "AutoDeleter.h" -#include "SoundPrivate.h" using std::nothrow; +namespace BPrivate { + + // If we don't mind the format changing to another format while // running, we can define this to 1. Look for the symbol down in the source. #define ACCEPT_ANY_FORMAT_CHANGE 0 @@ -51,6 +53,30 @@ using std::nothrow; #endif +// This structure is the body of a request that we use to +// implement SetHooks(). +struct set_hooks_q { + port_id reply; + void * cookie; + SoundProcessFunc process; + SoundNotifyFunc notify; +}; + + +// All incoming buffers and Media Kit requests arrive at a +// media node in the form of messages (which are generally +// dispatched for you by your superclasses' HandleMessage +// implementations). Each message has a 'type' which is +// analagous to a BMessage's 'what' field. We'll define our +// own private message types for our SoundConsumer and +// SoundProducer to use. The BeOS reserves a range, +// 0x60000000 to 0x7fffffff, for us to use. +enum { + MSG_QUIT_NOW = 0x60000000L, + MSG_CHANGE_HOOKS +}; + + SoundConsumer::SoundConsumer( const char * name, SoundProcessFunc recordFunc, @@ -672,3 +698,5 @@ SoundConsumer::Notify(int32 /*cause*/, ...) // If there is no notification hook installed, we instead call this // function for giving notification of various events. } + +} diff --git a/src/apps/soundrecorder/SoundUtils.cpp b/src/kits/media/SoundUtils.cpp similarity index 100% rename from src/apps/soundrecorder/SoundUtils.cpp rename to src/kits/media/SoundUtils.cpp From d221a261ff6c2a03a8e3e169192e2dfafcaca720 Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Tue, 7 Aug 2012 01:54:55 -0400 Subject: [PATCH 18/34] Style fix --- headers/os/storage/NodeMonitor.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/headers/os/storage/NodeMonitor.h b/headers/os/storage/NodeMonitor.h index 24cf2878c7..e6065a71c9 100644 --- a/headers/os/storage/NodeMonitor.h +++ b/headers/os/storage/NodeMonitor.h @@ -16,7 +16,7 @@ */ enum { - B_STOP_WATCHING = 0x0000, + B_STOP_WATCHING = 0x0000, B_WATCH_NAME = 0x0001, B_WATCH_STAT = 0x0002, B_WATCH_ATTR = 0x0004, From c2535dc48a28016ead05c4ebf522f018dc770429 Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Tue, 7 Aug 2012 18:04:53 -0400 Subject: [PATCH 19/34] Tracker: various issues regarding filtering 1. A BRefFilter-ed PoseView wouldn't keep monitoring files after its opening thus not picking up files that happen to fit the filter thereafter (mime attr updated, etc..) 2. A filtered PoseView wouldn't get updated when: a) a column was added or removed b) a file was renamed c) a file was moved 3. Harmonize the way BRefFiltering and Type-ahead filtering are working. Both can be used together. 4. The handler for AttributeChanged() wasn't working properly if link(s) of a changed model was/were its siblings. 5. Broken links weren't detected/updated (it nows monitor the lost target parent directory, and wait for the target creation to show the link fixed) This is a big change (even more considering the 'critical-ness' of the component) Testing is MUCH welcome! Should fix #4254, #5381, #1717 (and maybe others) --- src/kits/tracker/Model.cpp | 5 +- src/kits/tracker/Pose.cpp | 20 +- src/kits/tracker/PoseList.cpp | 30 +++ src/kits/tracker/PoseList.h | 1 + src/kits/tracker/PoseView.cpp | 410 ++++++++++++++++++++++++---------- src/kits/tracker/PoseView.h | 9 +- 6 files changed, 345 insertions(+), 130 deletions(-) diff --git a/src/kits/tracker/Model.cpp b/src/kits/tracker/Model.cpp index 8a4e5155e5..c0f2d285e2 100644 --- a/src/kits/tracker/Model.cpp +++ b/src/kits/tracker/Model.cpp @@ -890,8 +890,6 @@ Model::AttrChanged(const char* attrName) if (!attrName || strcmp(attrName, kAttrMIMEType) == 0 || strcmp(attrName, kAttrPreferredApp) == 0) { - ModelNodeLazyOpener opener(this); - opener.OpenNode(); char mimeString[B_MIME_TYPE_LENGTH]; BNodeInfo info(fNode); if (info.GetType(mimeString) != B_OK) @@ -1194,7 +1192,8 @@ Model::Mimeset(bool force) GetPath(&path); update_mime_info(path.Path(), 0, 1, force ? 2 : 0); - + ModelNodeLazyOpener opener(this); + opener.OpenNode(); AttrChanged(0); return !oldType.ICompare(MimeType()); diff --git a/src/kits/tracker/Pose.cpp b/src/kits/tracker/Pose.cpp index f56618b0fd..7befef5792 100644 --- a/src/kits/tracker/Pose.cpp +++ b/src/kits/tracker/Pose.cpp @@ -37,6 +37,7 @@ All rights reserved. #include #include +#include #include #include @@ -360,6 +361,10 @@ BPose::UpdateBrokenSymLink(BPoint poseLoc, BPoseView* poseView) { ASSERT(TargetModel()->IsSymLink()); ASSERT(!TargetModel()->LinkTo()); + + if (!TargetModel()->IsSymLink() || TargetModel()->LinkTo()) + return; + UpdateIcon(poseLoc, poseView); } @@ -370,15 +375,20 @@ BPose::UpdateWasBrokenSymlink(BPoint poseLoc, BPoseView* poseView) if (!fModel->IsSymLink()) return; - if (fModel->LinkTo()) + if (fModel->LinkTo()) { + BEntry entry(fModel->EntryRef(), true); + if (entry.InitCheck() != B_OK) { + watch_node(fModel->LinkTo()->NodeRef(), B_STOP_WATCHING, poseView); + fModel->SetLinkTo(NULL); + UpdateIcon(poseLoc, poseView); + } return; + } poseView->CreateSymlinkPoseTarget(fModel); - if (!fModel->LinkTo()) - return; - UpdateIcon(poseLoc, poseView); - fModel->LinkTo()->CloseNode(); + if (fModel->LinkTo()) + fModel->LinkTo()->CloseNode(); } diff --git a/src/kits/tracker/PoseList.cpp b/src/kits/tracker/PoseList.cpp index 9d0f83e766..75d639e03c 100644 --- a/src/kits/tracker/PoseList.cpp +++ b/src/kits/tracker/PoseList.cpp @@ -112,3 +112,33 @@ PoseList::DeepFindPose(const node_ref* node, int32* resultingIndex) const return NULL; } + + +PoseList * +PoseList::FindAllPoses(const node_ref *node) const +{ + int32 count = CountItems(); + PoseList *result = new PoseList(5, false); + for (int32 index = 0; index < count; index++) { + BPose *pose = ItemAt(index); + Model *model = pose->TargetModel(); + if (*model->NodeRef() == *node) { + result->AddItem(pose, 0); + continue; + } + + model = model->LinkTo(); + if (model && *model->NodeRef() == *node) { + result->AddItem(pose); + continue; + } + + if (!model && pose->TargetModel()->IsSymLink()) { + model = new Model(pose->TargetModel()->EntryRef(), true); + if (*model->NodeRef() == *node) + result->AddItem(pose); + delete model; + } + } + return result; +} diff --git a/src/kits/tracker/PoseList.h b/src/kits/tracker/PoseList.h index 945dda370e..801a08fc87 100644 --- a/src/kits/tracker/PoseList.h +++ b/src/kits/tracker/PoseList.h @@ -66,6 +66,7 @@ public: BPose* DeepFindPose(const node_ref* node, int32* index = NULL) const; // same as FindPose, node can be a target of the actual // pose if the pose is a symlink + PoseList *FindAllPoses(const node_ref *node) const; }; // iteration glue, add permutations as needed diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp index 7a8562f2c4..ca8354bf55 100644 --- a/src/kits/tracker/PoseView.cpp +++ b/src/kits/tracker/PoseView.cpp @@ -65,6 +65,7 @@ All rights reserved. #include #include #include +#include #include #include #include @@ -220,6 +221,7 @@ BPoseView::BPoseView(Model* model, BRect bounds, uint32 viewMode, fZombieList(new BObjectList(10, true)), fColumnList(new BObjectList(4, true)), fMimeTypeList(new BObjectList(10, true)), + fBrokenLinks(new BObjectList(10, false)), fMimeTypeListIsDirty(false), fViewState(new BViewState), fStateNeedsSaving(false), @@ -285,6 +287,7 @@ BPoseView::~BPoseView() delete fViewState; delete fModel; delete fKeyRunner; + delete fBrokenLinks; IconCache::sIconCache->Deleting(this); } @@ -360,8 +363,6 @@ BPoseView::InitCommon() AddTrashPoses(); else AddPoses(TargetModel()); - - UpdateScrollRange(); } @@ -1312,7 +1313,7 @@ BPoseView::AddPosesTask(void* castToParams) AddPosesResult* posesResult = new AddPosesResult; posesResult->fCount = 0; - int32 modelChunkIndex = 0; + int32 modelChunkIndex = -1; bigtime_t nextChunkTime = 0; uint32 watchMask = view->WatchNewNodeMask(); @@ -1334,13 +1335,8 @@ BPoseView::AddPosesTask(void* castToParams) node_ref dirNode; node_ref itemNode; - posesResult->fModels[modelChunkIndex] = 0; - // ToDo - redo this so that modelChunkIndex increments - // right before a new model is added to the array; - // start with modelChunkIndex = -1 - int32 count = container->GetNextDirents(eptr, 1024, 1); - if (count <= 0 && !modelChunkIndex) + if (count <= 0 && modelChunkIndex == -1) break; if (count) { @@ -1363,6 +1359,7 @@ BPoseView::AddPosesTask(void* castToParams) // OK to call when poseView is not locked model = new Model(&dirNode, &itemNode, eptr->d_name, true); result = model->InitCheck(); + modelChunkIndex++; posesResult->fModels[modelChunkIndex] = model; } @@ -1400,25 +1397,17 @@ BPoseView::AddPosesTask(void* castToParams) view->ReadPoseInfo(model, &(posesResult->fPoseInfos[modelChunkIndex])); - if (!view->ShouldShowPose(model, - &(posesResult->fPoseInfos[modelChunkIndex])) - // filter out models we do not want to show - || (model->IsSymLink() - && !view->CreateSymlinkPoseTarget(model))) { - // filter out symlinks whose target models we do not - // want to show - posesResult->fModels[modelChunkIndex] = 0; - delete model; + if (!PoseVisible(model, + &(posesResult->fPoseInfos[modelChunkIndex]))) { + modelChunkIndex--; continue; } - // TODO: we are only watching nodes that are visible and - // not zombies. EntryCreated watches everything, which is - // probably more correct. - // clean this up + + if (model->IsSymLink()) + view->CreateSymlinkPoseTarget(model); model->CloseNode(); - modelChunkIndex++; } bigtime_t now = system_time(); @@ -1428,18 +1417,18 @@ BPoseView::AddPosesTask(void* castToParams) // keep getting models until we get of them // or until 300000 runs out - ASSERT(modelChunkIndex > 0); + ASSERT(modelChunkIndex >= 0); // send of the created poses - posesResult->fCount = modelChunkIndex; + posesResult->fCount = modelChunkIndex + 1; BMessage creationData(kAddNewPoses); creationData.AddPointer("currentPoses", posesResult); creationData.AddRef("ref", &ref); lock.Target().SendMessage(&creationData); - modelChunkIndex = 0; + modelChunkIndex = -1; nextChunkTime = now + 300000; posesResult = new AddPosesResult; @@ -1590,6 +1579,7 @@ BPoseView::AddPosesCompleted() if (ViewMode() != kListMode) CheckAutoPlacedPoses(); + UpdateScrollRange(); HideBarberPole(); // make sure that the last item in the list is not placed @@ -1786,7 +1776,6 @@ BPoseView::AddPoseToList(PoseList* list, bool visibleList, bool insertionSort, } - void BPoseView::CreatePoses(Model** models, PoseInfo* poseInfoArray, int32 count, BPose** resultingPoses, bool insertionSort, int32* lastPoseIndexPtr, @@ -2660,6 +2649,16 @@ BPoseView::RemoveColumn(BColumn* columnToRemove, bool runAlert) } fStateNeedsSaving = true; + + if (fFiltering) { + // the column we removed might just be the one that was used to filter + int32 count = fFilteredPoseList->CountItems(); + for (int32 i = count - 1; i >= 0; i--) { + BPose *pose = fFilteredPoseList->ItemAt(i); + if (!FilterPose(pose)) + RemoveFilteredPose(pose, i); + } + } return true; } @@ -2727,6 +2726,12 @@ BPoseView::AddColumn(BColumn* newColumn, const BColumn* after) fStateNeedsSaving = true; + if (fFiltering) { + // the column we added might just add new poses to be showed + fFiltering = false; + StartFiltering(); + } + return true; } @@ -4927,11 +4932,16 @@ BPoseView::MoveSelectionTo(BPoint dropPt, BPoint clickPt, inline void -UpdateWasBrokenSymlinkBinder(BPose* pose, Model*, BPoseView* poseView, - BPoint* loc) +UpdateWasBrokenSymlinkBinder(BPose *pose, Model *model, int32 index, + BPoseView *poseView, BObjectList *fBrokenLinks) { - pose->UpdateWasBrokenSymlink(*loc, poseView); - loc->y += poseView->ListElemHeight(); + if (!model->IsSymLink()) + return; + + BPoint loc(0, index * poseView->ListElemHeight()); + pose->UpdateWasBrokenSymlink(loc, poseView); + if (model->LinkTo()) + fBrokenLinks->RemoveItem(model); } @@ -4942,9 +4952,18 @@ BPoseView::TryUpdatingBrokenLinks() if (!lock) return; - // try fixing broken symlinks - BPoint loc; - EachPoseAndModel(fPoseList, &UpdateWasBrokenSymlinkBinder, this, &loc); + BObjectList *brokenLinksCopy = new BObjectList(*fBrokenLinks); + + // try fixing broken symlinks, and detecting broken ones. + EachPoseAndModel(fPoseList, &UpdateWasBrokenSymlinkBinder, this, + fBrokenLinks); + + for (int i = brokenLinksCopy->CountItems() - 1; i >= 0; i--) { + if (!fBrokenLinks->HasItem(brokenLinksCopy->ItemAt(i))) + StopWatchingParentsOf(brokenLinksCopy->ItemAt(i)->EntryRef()); + } + + delete brokenLinksCopy; } @@ -5095,6 +5114,8 @@ BPoseView::FSNotification(const BMessage* message) ASSERT(TargetModel()); + int32 count = fBrokenLinks->CountItems(); + bool createPose = true; // Query windows can get notices on different dirNodes // The Disks window can too // So can the Desktop, as long as the integrate flag is on @@ -5102,17 +5123,54 @@ BPoseView::FSNotification(const BMessage* message) if (dirNode != *TargetModel()->NodeRef() && !TargetModel()->IsQuery() && !TargetModel()->IsRoot() - && (!settings.ShowDisksIcon() || !IsDesktopView())) - // stray notification - break; + && (!settings.ShowDisksIcon() || !IsDesktopView())) { + if (count == 0) + break; + createPose = false; + } - const char* name; - if (message->FindString("name", &name) == B_OK) - EntryCreated(&dirNode, &itemNode, name); + const char *name; + if (message->FindString("name", &name) != B_OK) + break; #if DEBUG else SERIAL_PRINT(("no name in entry creation message\n")); + break; #endif + if (count) { + // basically, let's say we have a broken link : + // ./a_link -> ./some_folder/another_folder/a_target + // and that both some_folder and another_folder didn't + // exist yet. We are looking if the just created folder + // is 'some_folder' and watch it, expecting the creation of + // 'another_folder' later and then report the link as fixed. + Model *model = new Model(&dirNode, &itemNode, name); + if (model->IsDirectory()) { + BString createdPath(BPath(model->EntryRef()).Path()); + BDirectory currentDir(TargetModel()->EntryRef()); + BPath createdDir(model->EntryRef()); + for (int32 i = 0; i < count; i++) { + BSymLink link(fBrokenLinks->ItemAt(i)->EntryRef()); + BPath path; + link.MakeLinkedPath(¤tDir, &path); + BString pathStr(path.Path()); + pathStr.Append("/"); + if (pathStr.Compare(createdPath, + createdPath.Length()) == 0) { + if (pathStr[createdPath.Length()] != '/') + break; + StopWatchingParentsOf(fBrokenLinks->ItemAt(i) + ->EntryRef()); + watch_node(&itemNode, B_WATCH_DIRECTORY, this); + break; + } + } + } + delete model; + } + if (createPose) + EntryCreated(&dirNode, &itemNode, name); + TryUpdatingBrokenLinks(); break; } case B_ENTRY_MOVED: @@ -5161,7 +5219,9 @@ BPoseView::FSNotification(const BMessage* message) break; } } - return DeletePose(&itemNode); + + DeletePose(&itemNode); + TryUpdatingBrokenLinks(); } break; @@ -5221,39 +5281,28 @@ BPoseView::FSNotification(const BMessage* message) bool BPoseView::CreateSymlinkPoseTarget(Model* symlink) { - Model* newResolvedModel = NULL; - Model* result = symlink->LinkTo(); - + Model *newResolvedModel = NULL; + Model *result = symlink->LinkTo(); if (!result) { - newResolvedModel = new Model(symlink->EntryRef(), true, true); - WatchNewNode(newResolvedModel->NodeRef()); - // this should be called before creating the model - - if (newResolvedModel->InitCheck() != B_OK) { - // broken link, still can show though, bail - watch_node(newResolvedModel->NodeRef(), B_STOP_WATCHING, this); - delete newResolvedModel; + BEntry entry(symlink->EntryRef(), true); + if (entry.InitCheck() == B_OK) { + node_ref nref; + entry_ref eref; + entry.GetNodeRef(&nref); + entry.GetRef(&eref); + if (eref.directory != TargetModel()->NodeRef()->node) + WatchNewNode(&nref, B_WATCH_STAT | B_WATCH_ATTR | B_WATCH_NAME + | B_WATCH_INTERIM_STAT, this); + newResolvedModel = new Model(&entry, true); + } else { + fBrokenLinks->AddItem(symlink); + WatchParentOf(symlink->EntryRef()); return true; } result = newResolvedModel; } - BModelOpener opener(result); - // open the model - - PoseInfo poseInfo; - ReadPoseInfo(result, &poseInfo); - - if (!ShouldShowPose(result, &poseInfo)) { - // symlink target invisible, make the link to it the same - watch_node(newResolvedModel->NodeRef(), B_STOP_WATCHING, this); - delete newResolvedModel; - // clean up what we allocated - return false; - } - symlink->SetLinkTo(result); - // watch the link target too return true; } @@ -5282,14 +5331,9 @@ BPoseView::EntryCreated(const node_ref* dirNode, const node_ref* itemNode, PoseInfo poseInfo; ReadPoseInfo(model, &poseInfo); - // filter out undesired poses - if (!ShouldShowPose(model, &poseInfo)) { + if (!PoseVisible(model, &poseInfo)) { watch_node(model->NodeRef(), B_STOP_WATCHING, this); delete model; - // TODO: take special care for fRefFilter'ed models, don't stop - // watching them and add the model to a "FilteredModels" list so that - // they can have a second chance of passing the filter on attribute - // (name) change. cf. r31307 return NULL; } @@ -5364,7 +5408,11 @@ BPoseView::EntryMoved(const BMessage* message) // rename or move of entry in this directory (or query) int32 index; - BPose* pose = fPoseList->FindPose(&itemNode, &index); + BPose *pose = fPoseList->FindPose(&itemNode, &index); + int32 poseListIndex = index; + bool visible = true; + if (fFiltering) + visible = fFilteredPoseList->FindPose(&itemNode, &index) != NULL; if (pose) { pose->TargetModel()->UpdateEntryRef(&dirNode, name); @@ -5384,10 +5432,17 @@ BPoseView::EntryMoved(const BMessage* message) if (pose->TargetModel()->OpenNode() == B_OK) { pose->UpdateAllWidgets(index, loc, this); pose->TargetModel()->CloseNode(); - _CheckPoseSortOrder(fPoseList, pose, index); - if (fFiltering - && fFilteredPoseList->FindPose(&itemNode, &index) != NULL) { - _CheckPoseSortOrder(fFilteredPoseList, pose, index); + _CheckPoseSortOrder(fPoseList, pose, poseListIndex); + if (fFiltering) { + if (!visible && FilterPose(pose)) { + BRect bounds = Bounds(); + float scrollBy = 0; + AddPoseToList(fFilteredPoseList, true, true, pose, + bounds, scrollBy, true); + } else if (visible && !FilterPose(pose)) + RemoveFilteredPose(pose, index); + else + _CheckPoseSortOrder(fFilteredPoseList, pose, index); } } } else { @@ -5403,13 +5458,90 @@ BPoseView::EntryMoved(const BMessage* message) if (pose) pendingNodeMonitorCache.PoseCreatedOrMoved(this, pose); } else if (oldDir == thisDirNode.node) - return DeletePose(&itemNode); + DeletePose(&itemNode); else if (dirNode.node == thisDirNode.node) EntryCreated(&dirNode, &itemNode, name); + + TryUpdatingBrokenLinks(); return true; } +void +BPoseView::WatchParentOf(const entry_ref *ref) +{ + BPath currentDir(ref); + currentDir.GetParent(¤tDir); + BSymLink symlink(ref); + BPath path; + + symlink.MakeLinkedPath(currentDir.Path(), &path); + status_t status = path.GetParent(&path); + + while (status == B_BAD_VALUE) + status = path.GetParent(&path); + + if (status == B_ENTRY_NOT_FOUND) + return; + + node_ref nref; + BNode(path.Path()).GetNodeRef(&nref); + + if (nref != *TargetModel()->NodeRef()) + watch_node(&nref, B_WATCH_DIRECTORY, this); +} + + +void +BPoseView::StopWatchingParentsOf(const entry_ref* ref) +{ + BPath path; + BSymLink symlink(ref); + BPath currentDir(ref); + currentDir.GetParent(¤tDir); + symlink.MakeLinkedPath(currentDir.Path(), &path); + + if (path.InitCheck() != B_OK) + return; + + BObjectList *brokenLinksCopy = new BObjectList(*fBrokenLinks); + int32 count = brokenLinksCopy->CountItems(); + + while (path.GetParent(&path) == B_OK) { + if (strcmp(path.Path(), "/") == 0) + break; + + BNode dir(path.Path()); + node_ref dirNode; + dir.GetNodeRef(&dirNode); + + // don't stop watching yourself. + if (dirNode == *TargetModel()->NodeRef()) + continue; + + // make sure we don't have another broken links that still requires + // to watch this directory + bool keep = false; + for (int32 i = count - 1; i >= 0; i--) { + BSymLink link(brokenLinksCopy->ItemAt(i)->EntryRef()); + BPath absolutePath; + link.MakeLinkedPath(currentDir.Path(), &absolutePath); + if (BString(absolutePath.Path()).Compare(path.Path(), + strlen(path.Path())) == 0) { + // a broken link still needs to watch this folder, but + // don't let that same link also watch a deeper parent. + brokenLinksCopy->RemoveItemAt(i); + count--; + keep = true; + } + } + if (!keep) + watch_node(&dirNode, B_STOP_WATCHING, this); + } + delete brokenLinksCopy; +} + + bool BPoseView::AttributeChanged(const BMessage* message) { @@ -5435,18 +5567,12 @@ BPoseView::AttributeChanged(const BMessage* message) } int32 index; - BPose* pose = fPoseList->DeepFindPose(&itemNode, &index); attr_info info; - memset(&info, 0, sizeof(attr_info)); - if (pose) { - int32 poseListIndex = index; - bool visible = true; - if (fFiltering) - visible = fFilteredPoseList->DeepFindPose(&itemNode, &index) != NULL; - - BPoint loc(0, index * fListElemHeight); - - Model* model = pose->TargetModel(); + PoseList *posesFound = fPoseList->FindAllPoses(&itemNode); + int32 posesCount = posesFound->CountItems(); + for (int i = 0; i < posesCount; i++) { + BPose *pose = posesFound->ItemAt(i); + Model *model = pose->TargetModel(); if (model->IsSymLink() && *model->NodeRef() != itemNode) // change happened on symlink's target model = model->ResolveIfLink(); @@ -5463,29 +5589,48 @@ BPoseView::AttributeChanged(const BMessage* message) PRINT(("model %s busy, retrying in a bit\n", model->Name())); snooze(10000); } - - if (result == B_OK) { - if (attrName && model->Node()) { - // the call below might fail if the attribute has been removed - model->Node()->GetAttrInfo(attrName, &info); - pose->UpdateWidgetAndModel(model, attrName, info.type, index, - loc, this, visible); - } else { - pose->UpdateWidgetAndModel(model, 0, 0, index, loc, this, - visible); - } - - model->CloseNode(); - } else { + if (result != B_OK) { PRINT(("Cache Error %s\n", strerror(result))); - return false; + continue; + } + + bool visible = fPoseList->FindPose(pose->TargetModel()->NodeRef(), + &index) != NULL; + int32 poseListIndex = index; + + if (fFiltering) + visible = fFilteredPoseList->FindPose(pose->TargetModel() + ->NodeRef(), &index) != NULL; + + BPoint loc(0, index * fListElemHeight); + if (attrName && model->Node() != NULL) { + memset(&info, 0, sizeof(attr_info)); + // the call below might fail if the attribute has been removed + model->Node()->GetAttrInfo(attrName, &info); + pose->UpdateWidgetAndModel(model, attrName, info.type, index, + loc, this, visible); + if (strcmp(attrName, kAttrMIMEType) == 0) + RefreshMimeTypeList(); + } else { + pose->UpdateWidgetAndModel(model, 0, 0, index, loc, this, + visible); + } + model->CloseNode(); + if (fFiltering) { + if (!visible && FilterPose(pose)) { + visible = true; + float scrollBy = 0; + BRect bounds = Bounds(); + AddPoseToList(fFilteredPoseList, true, true, pose, bounds, + scrollBy, true); + continue; + } else if (visible && !FilterPose(pose)) { + RemoveFilteredPose(pose, index); + continue; + } } if (attrName) { - // rebuild the MIME type list, if the MIME type has changed - if (strcmp(attrName, kAttrMIMEType) == 0) - RefreshMimeTypeList(); - // note: the following code is wrong, because this sort of hashing // may overlap and we get aliasing uint32 attrHash = AttrHashString(attrName, info.type); @@ -5497,7 +5642,7 @@ BPoseView::AttributeChanged(const BMessage* message) } else { int32 fields; if (message->FindInt32("fields", &fields) != B_OK) - return true; + continue; for (int i = sizeof(sAttrColumnMap) / sizeof(attr_column_relation); i--;) { @@ -5507,12 +5652,14 @@ BPoseView::AttributeChanged(const BMessage* message) _CheckPoseSortOrder(fPoseList, pose, poseListIndex); if (fFiltering && visible) _CheckPoseSortOrder(fFilteredPoseList, pose, index); - return true; + break; } } } } - } else { + } + delete posesFound; + if (posesCount == 0) { // we received an attr changed notification for a zombie model, it means // that although we couldn't open the node the first time, it seems // to be fine now since we're receiving notifications about it, it might @@ -7551,8 +7698,13 @@ BPoseView::DeleteSymLinkPoseTarget(const node_ref* itemNode, BPose* pose, { ASSERT(pose->TargetModel()->IsSymLink()); watch_node(itemNode, B_STOP_WATCHING, this); + + // watch the parent of the symlink, so that we know when the symlink + // can be considered fixed. + WatchParentOf(pose->TargetModel()->EntryRef()); + BPoint loc(0, index * fListElemHeight); - pose->TargetModel()->SetLinkTo(0); + pose->TargetModel()->SetLinkTo(NULL); pose->UpdateBrokenSymLink(loc, this); } @@ -7567,8 +7719,10 @@ BPoseView::DeletePose(const node_ref* itemNode, BPose* pose, int32 index) if (pose) { fInsertedNodes.erase(fInsertedNodes.find(*itemNode)); - if (TargetModel()->IsSymLink()) { - Model* target = pose->TargetModel()->LinkTo(); + if (pose->TargetModel()->IsSymLink()) { + fBrokenLinks->RemoveItem(pose->TargetModel()); + StopWatchingParentsOf(pose->TargetModel()->EntryRef()); + Model *target = pose->TargetModel()->LinkTo(); if (target) watch_node(target->NodeRef(), B_STOP_WATCHING, this); } @@ -7854,6 +8008,7 @@ BPoseView::ClearPoses() // clear all pose lists fPoseList->MakeEmpty(); + fFilteredPoseList->MakeEmpty(); fMimeTypeListIsDirty = true; fVSPoseList->MakeEmpty(); fZombieList->MakeEmpty(); @@ -7861,6 +8016,7 @@ BPoseView::ClearPoses() fSelectionPivotPose = NULL; fRealPivotPose = NULL; fMimeTypesInSelectionCache.MakeEmpty(); + fBrokenLinks->MakeEmpty(); DisableScrollBars(); ScrollTo(BPoint(0, 0)); @@ -8005,6 +8161,12 @@ BPoseView::Refresh() AddPoses(TargetModel()); TargetModel()->CloseNode(); + // fRefFilter must be set for this to happen + if (fFiltering) { + fFiltering = false; + StartFiltering(); + } + Invalidate(); ResetOrigin(); ResetPosePlacementHint(); @@ -9775,14 +9937,16 @@ BPoseView::FilterChanged() int32 stringCount = fFilterStrings.CountItems(); int32 length = fFilterStrings.LastItem()->CountChars(); - if (!fFiltering && length > 0) + if (!fFiltering && (length > 0 || fRefFilter != NULL)) StartFiltering(); - else if (fFiltering && stringCount == 1 && length == 0) + else if (fFiltering && stringCount == 1 && length == 0 + && fRefFilter == NULL) ClearFilter(); else { if (fLastFilterStringCount > stringCount || (fLastFilterStringCount == stringCount - && fLastFilterStringLength > length)) { + && fLastFilterStringLength > length) + || fRefFilter != NULL) { // something was removed, need to start over fFilteredPoseList->MakeEmpty(); fFiltering = false; @@ -9828,6 +9992,13 @@ BPoseView::FilterPose(BPose* pose) if (!fFiltering || pose == NULL) return false; + if (fRefFilter != NULL) { + PoseInfo poseInfo; + ReadPoseInfo(pose->TargetModel(), &poseInfo); + if (!ShouldShowPose(pose->TargetModel(), &poseInfo)) + return false; + } + int32 stringCount = fFilterStrings.CountItems(); int32 matchesLeft = stringCount; @@ -9857,7 +10028,6 @@ BPoseView::FilterPose(BPose* pose) } } } - return false; } @@ -9900,7 +10070,7 @@ BPoseView::StopFiltering() void BPoseView::ClearFilter() { - if (!fFiltering) + if (!fFiltering || fRefFilter != NULL) return; fCountView->CancelFilter(); diff --git a/src/kits/tracker/PoseView.h b/src/kits/tracker/PoseView.h index 872a9d2b8f..621f10ac3a 100644 --- a/src/kits/tracker/PoseView.h +++ b/src/kits/tracker/PoseView.h @@ -674,6 +674,9 @@ class BPoseView : public BView { void Delete(const entry_ref&ref, bool selectNext, bool askUser); void RestoreItemsFromTrash(BObjectList*, bool selectNext); + void WatchParentOf(const entry_ref *); + void StopWatchingParentsOf(const entry_ref *); + private: void DrawOpenAnimation(BRect); @@ -695,8 +698,9 @@ class BPoseView : public BView { // used for mime string based icon highliting during a drag BObjectList* fZombieList; PendingNodeMonitorCache pendingNodeMonitorCache; - BObjectList* fColumnList; - BObjectList* fMimeTypeList; + BObjectList *fColumnList; + BObjectList *fMimeTypeList; + BObjectList *fBrokenLinks; bool fMimeTypeListIsDirty; BViewState* fViewState; bool fStateNeedsSaving; @@ -1148,6 +1152,7 @@ inline void BPoseView::SetRefFilter(BRefFilter* filter) { fRefFilter = filter; + FilterChanged(); } From e21fe3ff3303b21bf93780b3c07227daa3b12862 Mon Sep 17 00:00:00 2001 From: Niels Sascha Reedijk Date: Wed, 8 Aug 2012 06:24:43 +0200 Subject: [PATCH 20/34] Update translations from Pootle --- .../add-ons/screen_savers/glife/ja.catkeys | 3 +- data/catalogs/apps/deskcalc/ja.catkeys | 4 +- data/catalogs/apps/drivesetup/ja.catkeys | 13 +++- data/catalogs/apps/drivesetup/sk.catkeys | 5 +- data/catalogs/apps/icon-o-matic/sk.catkeys | 3 +- data/catalogs/apps/webpositive/ja.catkeys | 13 +++- data/catalogs/apps/webpositive/sk.catkeys | 72 +++++++++++++++++++ data/catalogs/kits/tracker/ja.catkeys | 7 +- data/catalogs/kits/tracker/sk.catkeys | 3 +- .../preferences/3drendering/fr.catkeys | 5 +- .../preferences/cpufrequency/sk.catkeys | 3 +- .../catalogs/preferences/filetypes/sk.catkeys | 3 +- 12 files changed, 123 insertions(+), 11 deletions(-) create mode 100644 data/catalogs/apps/webpositive/sk.catkeys diff --git a/data/catalogs/add-ons/screen_savers/glife/ja.catkeys b/data/catalogs/add-ons/screen_savers/glife/ja.catkeys index f317be310f..4f98b8b381 100644 --- a/data/catalogs/add-ons/screen_savers/glife/ja.catkeys +++ b/data/catalogs/add-ons/screen_savers/glife/ja.catkeys @@ -1,4 +1,4 @@ -1 japanese x-vnd.Haiku-GLifeScreensaver 1482741810 +1 japanese x-vnd.Haiku-GLifeScreensaver 131690889 Grid Border: %li GLife ScreenSaver グリッドの輪郭: %li Grid Width: GLife ScreenSaver グリッドの幅: none GLife ScreenSaver 無し @@ -8,5 +8,6 @@ None GLife ScreenSaver 無し 4x GLife ScreenSaver This is a factor: the x represents 'times' 4x Grid Width: %li GLife ScreenSaver グリッドの幅: %li Grid Height: %li GLife ScreenSaver グリッドの高さ: %li +OpenGL \"Game of Life\" GLife ScreenSaver OpenGL \"ライフゲーム\" Grid Border: GLife ScreenSaver グリッドの輪郭: by Aaron Hill GLife ScreenSaver Aaron Hill 作 diff --git a/data/catalogs/apps/deskcalc/ja.catkeys b/data/catalogs/apps/deskcalc/ja.catkeys index dfcc91f2c8..3e3e8069bc 100644 --- a/data/catalogs/apps/deskcalc/ja.catkeys +++ b/data/catalogs/apps/deskcalc/ja.catkeys @@ -1,7 +1,9 @@ -1 japanese x-vnd.Haiku-DeskCalc 1916192649 +1 japanese x-vnd.Haiku-DeskCalc 3276968552 Compact CalcView コンパクトモード Scientific CalcView 関数モード DeskCalc System name 電卓 Basic CalcView 基本モード +Radians CalcView ラジアン Enable Num Lock on startup CalcView 起動時に Num Lock を有効にする +Degrees CalcView 度 Audio Feedback CalcView オーディオフィードバック diff --git a/data/catalogs/apps/drivesetup/ja.catkeys b/data/catalogs/apps/drivesetup/ja.catkeys index e88af98cd4..8e9cb9d821 100644 --- a/data/catalogs/apps/drivesetup/ja.catkeys +++ b/data/catalogs/apps/drivesetup/ja.catkeys @@ -1,4 +1,4 @@ -1 japanese x-vnd.Haiku-DriveSetup 2908539543 +1 japanese x-vnd.Haiku-DriveSetup 1372142450 DriveSetup System name DriveSetup Delete MainWindow 削除 Are you sure you want to write the changes back to disk now?\n\nAll data on the selected partition will be irretrievably lost if you do so! MainWindow 変更を本当にディスクに保存しますか?\n\nその場合、選択されたパーティションのすべてのデータが失われますので、ご注意ください。 @@ -11,10 +11,13 @@ There's no space on the partition where a child partition could be created. Main Unable to find the selected partition by ID. MainWindow 選択されたパーティションを ID で検出できませんでした。 Select a partition from the list below. DiskView 下記の一覧からパーティションを一つ選択してください。 No disk devices have been recognized. DiskView ディスクデバイスが検出されませんでした。 +Failed to initialize the disk %s!\n MainWindow ディスク %s の初期化に失敗しました!\n The selected disk is read-only. MainWindow 選択されたディスクは読み取り専用です。 Partition name: CreateParamsPanel パーティション名 : Initialize InitParamsPanel 初期化 +Are you sure you want to format the partition \"%s\"? You will be asked again before changes are written to the disk. MainWindow パーティション \"%s\" を本当にフォーマットして良いですか? 変更をディスクに書き込む直前に再度確認します。 Could not mount partition %s. MainWindow パーティション %s をマウントできませんでした。 +The partition %s has been successfully formatted.\n MainWindow %s パーティションは正常にフォーマットされました。\n The partition %s is already unmounted. MainWindow パーティション %s は既にマウント解除されています。 Failed to delete the partition. No changes have been written to disk. MainWindow パーティションの削除に失敗しました。変更は保存されていません。 Partition type: CreateParamsPanel パーティション種別 : @@ -34,15 +37,20 @@ Offset: %ld MB Support オフセット: %ld MB Write changes MainWindow 変更を書き込む There was an error preparing the disk for modifications. MainWindow ディスクの変更のための準備をする際、エラーが発生しました。 The partition %s is already mounted. MainWindow パーティション %s は既にマウントされています。 +Are you sure you want to format the partition? You will be asked again before changes are written to the disk. MainWindow パーティションを本当にフォーマットして良いですか? 変更をディスクに書き込む直前に再度確認します。 Are you sure you want to write the changes back to disk now?\n\nAll data on the disk %s will be irretrievably lost if you do so! MainWindow 変更をすぐにディスクに保存しますか?\n\nその場合、ディスク %s のデータが全て失われますので、ご注意ください。 Are you sure you want to delete the selected partition?\n\nAll data on the partition will be irretrievably lost if you do so! MainWindow 選択されたパーティションを本当に削除しますか?\n\nその場合、パーティションのすべてのデータが失われますので、ご注意ください。 Create… MainWindow 新規作成… Disk system \"%s\"\" not found! MainWindow \"%s\"\" ディスクシステムがみつかりません! +The disk has been successfully initialized.\n MainWindow ディスクは正常に初期化されました。\n Could not unmount partition %s. MainWindow パーティション %s をマウント解除できませんでした。 +Failed to format the partition %s!\n MainWindow パーティション %s のフォーマットに失敗しました!\n Mount MainWindow マウント Create CreateParamsPanel 新規作成 +Are you sure you want to format a raw disk? (most people initialize the disk with a partitioning system first) You will be asked again before changes are written to the disk. MainWindow 本当にディスク全体をフォーマットして良いですか? (大抵の人はまずパーティショニングシステムでディスクを初期化します) 変更をディスクに書き込む直前に再度確認します。 Device PartitionList デバイス Disk MainWindow ディスク +Are you sure you want to initialize the selected disk? All data will be lost. You will be asked again before changes are written to the disk.\n MainWindow 本当に選択したディスクを初期化しますか? データーはすべて失われます。変更をディスクに書き込む直前に再度確認します。\n Device DiskView デバイス Active PartitionList アクティブ Volume name PartitionList ボリューム名 @@ -57,6 +65,7 @@ Partition MainWindow パーティション File system PartitionList ファイルシステム Validation of the given creation parameters failed. MainWindow 作成パラメーターの検証に失敗しました。 Size PartitionList サイズ +Wipe (not implemented) MainWindow ワイプ (実装されていません) Validation of the given initialization parameters failed. MainWindow 初期化パラメーターの検証に失敗しました The selected partition does not contain a partitioning system. MainWindow 選択されたパーティションにパーティションシステムはありません。 Are you sure you want to write the changes back to disk now?\n\nAll data on the partition %s will be irretrievably lost if you do so! MainWindow 変更をすぐにディスクに保存しますか?\n\nその場合、ディスク %s のデータがすべて失われますので、ご注意ください。 @@ -65,7 +74,9 @@ Partition size CreateParamsPanel パーティションサイズ Surface test (not implemented) MainWindow 表面チェック(実装されていません) Cancel InitParamsPanel 中止 Cancel CreateParamsPanel 中止 +Format MainWindow フォーマット Parameters PartitionList パラメーター Creation of the partition has failed. MainWindow パーティションの作成に失敗しました。 The currently selected partition is not empty. MainWindow 選択されたパーティションにデータがあります。 +Failed to format the partition. No changes have been written to disk. MainWindow パーティションのフォーマットに失敗しました。変更はディスクに書きこまれていません。 Unmount MainWindow マウント解除 diff --git a/data/catalogs/apps/drivesetup/sk.catkeys b/data/catalogs/apps/drivesetup/sk.catkeys index 1a393af833..356b75b18f 100644 --- a/data/catalogs/apps/drivesetup/sk.catkeys +++ b/data/catalogs/apps/drivesetup/sk.catkeys @@ -1,4 +1,4 @@ -1 slovak x-vnd.Haiku-DriveSetup 3244521115 +1 slovak x-vnd.Haiku-DriveSetup 1372142450 DriveSetup System name Nastavenie diskových oblastí Delete MainWindow Zmazať Are you sure you want to write the changes back to disk now?\n\nAll data on the selected partition will be irretrievably lost if you do so! MainWindow Ste si istý, že chcete tieto zmeny teraz zapísať na disk?\n\nAk tak urobíte, všetky údaje na vybranej diskovej oblasti budú nenávratne stratené! @@ -65,6 +65,7 @@ Partition MainWindow Oblasť File system PartitionList Súborový systém Validation of the given creation parameters failed. MainWindow Overenie zadaných parametrov vytvorenia zlyhalo. Size PartitionList Veľkosť +Wipe (not implemented) MainWindow Bezpečne vymazať (neimplementované) Validation of the given initialization parameters failed. MainWindow Overenie zadaných parametrov inicializácie zlyhalo. The selected partition does not contain a partitioning system. MainWindow Zdá sa, že vybraná disková oblasť neobsahuje systém oblastí. Are you sure you want to write the changes back to disk now?\n\nAll data on the partition %s will be irretrievably lost if you do so! MainWindow Ste si istý, že chcete tieto zmeny teraz zapísať na disk?\n\nAk tak urobíte, všetky údaje na diskovej oblasti %s budú nenávratne stratené! @@ -73,7 +74,9 @@ Partition size CreateParamsPanel Veľkosť oblasti Surface test (not implemented) MainWindow Test povrchu disku (neimplementované) Cancel InitParamsPanel Zrušiť Cancel CreateParamsPanel Zrušiť +Format MainWindow Naformátovať Parameters PartitionList Parametre Creation of the partition has failed. MainWindow Vytvorenie diskovej oblasti zlyhalo. The currently selected partition is not empty. MainWindow Momentálne vybraná disková oblasť nie je prázdna. +Failed to format the partition. No changes have been written to disk. MainWindow Nepodarilo sa naformátovať oblasť. Žiadne zmeny neboli zapísané na disk. Unmount MainWindow Odpojiť diff --git a/data/catalogs/apps/icon-o-matic/sk.catkeys b/data/catalogs/apps/icon-o-matic/sk.catkeys index 3ba79142c2..e38db46494 100644 --- a/data/catalogs/apps/icon-o-matic/sk.catkeys +++ b/data/catalogs/apps/icon-o-matic/sk.catkeys @@ -1,4 +1,4 @@ -1 slovak x-vnd.haiku-icon_o_matic 3736361491 +1 slovak x-vnd.haiku-icon_o_matic 4233739176 Select All Icon-O-Matic-PathManipulator Vybrať všetky Add Style Icon-O-Matic-AddStylesCmd Pridať štýl Color (#%02x%02x%02x) Style name after dropping a color Farba (#%02x%02x%02x) @@ -117,6 +117,7 @@ Gradient Icon-O-Matic-StyleTypes Farebný prechod Min LOD Icon-O-Matic-PropertyNames Min. detail BEOS:ICON Attribute Icon-O-Matic-SavePanel Atribút BEOS:ICON Invert selection Icon-O-Matic-Properties Invertovať výber +Drop shapes Icon-O-Matic-ShapesList Tvary tieňov Export as… Icon-O-Matic-Menu-File Exportovať ako… Transformation Transformation Transformácia Click on an object in Empty property list - 1st line Kliknite na objekt v diff --git a/data/catalogs/apps/webpositive/ja.catkeys b/data/catalogs/apps/webpositive/ja.catkeys index 37a6d8302d..da3208f1f8 100644 --- a/data/catalogs/apps/webpositive/ja.catkeys +++ b/data/catalogs/apps/webpositive/ja.catkeys @@ -1,4 +1,5 @@ -1 japanese x-vnd.Haiku-WebPositive 3136989668 +1 japanese x-vnd.Haiku-WebPositive 2052381345 +Show home button Settings Window ホームボタンを表示する Username: Authentication Panel ユーザー名: Copy URL to clipboard Download Window URL をクリップボードにコピー Cancel Settings Window キャンセル @@ -21,6 +22,7 @@ Confirmation WebPositive Window 確認 Window WebPositive Window ウィンドウ Decrease size WebPositive Window サイズを小さく Serif font: Settings Window セリフフォント: +Loading %url WebPositive Window 読み込み中 %url Page source WebPositive Window ページのソース Next WebPositive Window 次へ Find next WebPositive Window 次を検索 @@ -33,8 +35,10 @@ Search page: Settings Window 検索ページ: Zoom text only WebPositive Window テキストのみ拡大 Default fixed font size: Settings Window 規定の固定フォントサイズ: Close tab WebPositive Window タブを閉じる +Auto-hide mouse pointer Settings Window 自動的にマウスポインターを隠す。 Over 1 hour left Download Window 残り 1 時間以上 Quit WebPositive Window 終了 +Full screen WebPositive Window 全画面表示 Open download error Download Window ダウンロードを開く際にエラー Standard font: Settings Window 標準フォント: Restart Download Window 再開 @@ -62,9 +66,11 @@ Increase size WebPositive Window サイズを大きく There was an error retrieving the bookmark folder.\n\nError: %error WebPositive Window Don't translate the variable %error ブックマークフォルダーの取得時にエラーが発生しました。\n\nエラー: %error Over 1 day left Download Window 残り 1 日以上 Downloads WebPositive Window ダウンロード +Requesting %url WebPositive Window 要求中 %url Apply Settings Window 適用 Bookmark info WebPositive Window ブックマーク情報 Size: Font Selection view サイズ: +Show tabs if only one page is open Settings Window ページが一つだけ開いている場合もタブを表示する。 About WebPositive Window WebPositive について Finish: Download Window Finishing time 完了: Fonts Settings Window フォント @@ -101,7 +107,11 @@ New browser window Download Window 新規ブラウザウィンドウ Today WebPositive Window 今日 1 second left Download Window 残り 1 秒 Remember username and password for this site Authentication Panel このサイトのユーザー名とパスワードを記憶する +Authentication required Authentication Panel 認証が必要です +Use proxy server to connect to the internet Settings Window インターネット接続にプロキシーサーバーを使用する。 There are still downloads in progress, do you really want to quit WebPositive now? WebPositive ダウンロードが進行中です。WebPositive を今終了してもよいですか? +Auto-hide interface in full screen mode Settings Window 全画面表示時に自動的にインターフェースを隠す。 +%url failed WebPositive Window Loading URL failed. Don't translate variable %url. %url 失敗。 New tab WebPositive Window 新規タブ Downloads in progress WebPositive ダウンロードが進行中です Style: Font Selection view スタイル: @@ -122,4 +132,5 @@ OK WebPositive Window OK Manage bookmarks WebPositive Window ブックマークの管理 A bookmark for this page (%bookmarkName) already exists. WebPositive Window Don't translate variable %bookmarkName このページ (%bookmarkName) のブックマークはすでにあります。 New windows: Settings Window 新規ウィンドウ: +%url finished WebPositive Window Loading URL finished. Don't translate variable %url. %url 完了。 Remove finished Download Window 完了した物を削除 diff --git a/data/catalogs/apps/webpositive/sk.catkeys b/data/catalogs/apps/webpositive/sk.catkeys new file mode 100644 index 0000000000..9d9fc9bc7b --- /dev/null +++ b/data/catalogs/apps/webpositive/sk.catkeys @@ -0,0 +1,72 @@ +1 slovak x-vnd.Haiku-WebPositive 1271374360 +Copy URL to clipboard Download Window Kopírovať URL do schránky +Cancel Settings Window Zrušiť +Close window WebPositive Window Zatvoriť okno +Quit WebPositive Ukončiť +The download could not be opened. Download Window Stiahnutý súbor sa nepodarilo otvoriť. +The downloads folder could not be opened.\n\nError: %error Download Window Don't translate variable %error Priečinok so stiahnutými súbormi sa nepodarilo otvoriť..\n\nChyba: %error +Open location WebPositive Window Otvoriť umiestnenie +Clear history WebPositive Window Vyčistiť históriu +WebPositive System name WebPositive +Decrease size WebPositive Window Zmenšiť veľkosť +Serif font: Settings Window Pätkové písmo: +Loading %url WebPositive Window Načítava sa %url +Page source WebPositive Window Zdroj stránky +Next WebPositive Window Ďalší +Find next WebPositive Window Nájsť ďalší +Download folder: Settings Window Priečinok stiahnutých súborov: +Edit WebPositive Window Upraviť +Over %hours hours left Download Window Zostáva viac ako %hours hodín +Full screen WebPositive Window Celoobrazovkový režim +Open download error Download Window Chyba pri otváraní sťahovaného súboru +Standard font: Settings Window Štandardné písmo: +Restart Download Window Reštartovať +Proxy server Settings Window Proxy server +Open containing folder Download Window Otvoriť nadradený priečinok +New window WebPositive Window Nové okno +Open Download Window Otvoriť +Reload WebPositive Window Znovu načítať +There was an error trying to show the Bookmarks folder.\n\nError: %error WebPositive Window Don't translate variable %error Vyskytla sa chyba pri zobrazovaní priečinka Záložky.\n\nChyba: %error +Open downloads folder Download Window Otvoriť priečinok stiahnutých súborov +Number of days to keep links in History menu: Settings Window Koľko dní ponechať odkazy v menu História: +Hide Download Window Skryť +Reset size WebPositive Window Obnoviť veľkosť +Find: WebPositive Window Nájsť: +Increase size WebPositive Window Zväčšiť veľkosť +There was an error retrieving the bookmark folder.\n\nError: %error WebPositive Window Don't translate the variable %error Vyskytla sa chyba pri získavaní priečinka záložiek.\n\nChyba: %error +Over 1 day left Download Window Zostáva viac ako 1 deň +Close WebPositive Window Zatvoriť +OK Download Window OK +Page source error WebPositive Window Chyba zdrojového kódu stránky +Open blank page Settings Window Otvoriť prázdnu stránku +New tabs: Settings Window Nové karty: +Cancel WebPositive Window Zrušiť +Open all WebPositive Window Otvoriť všetko +Clear URL Bar Vyčistiť +Cut URL Bar Vystrihnúť +Paste URL Bar Vložiť +/s) Download Window ...as in 'per second' /s) +Hide password text Authentication Panel Skryť text hesla +The quick brown fox jumps over the lazy dog. Font Selection view Don't translate this literally ! Use a phrase showing all chars from A to Z. Kŕdeľ ďatľov učí koňa obhrýzať kôru a žrať mäso +Over 1 minute left Download Window Zostáva viac ako 1 minúta +Open start page Settings Window Otvoriť úvodnú stránku +Continue downloads WebPositive Pokračovať v sťahovaní +Cancel Download Window Zrušiť +Open search page Settings Window Otvoriť vyhľadávaciu stránku +There are still downloads in progress, do you really want to quit WebPositive now? WebPositive Ešte stále prebieha sťahovanie. Skutočne chcete teraz WebPositive ukončiť? +Auto-hide interface in full screen mode Settings Window Automaticky skryť prvky rozhrania v celoobrazovkovom režime +%url failed WebPositive Window Loading URL failed. Don't translate variable %url. %url zlyhalo +New tab WebPositive Window Nová karta +Downloads in progress WebPositive Prebieha sťahovanie +Style: Font Selection view Štýl: +General Settings Window Všeobecné +View WebPositive Window Zobraziť +Previous WebPositive Window Predchádzajúce +OK Authentication Panel OK +Copy URL Bar Kopírovať +OK WebPositive Window OK +Manage bookmarks WebPositive Window Spravovať záložky +A bookmark for this page (%bookmarkName) already exists. WebPositive Window Don't translate variable %bookmarkName Záložka tejto stránky (%bookmarkName) už existuje. +New windows: Settings Window Nové okná: +%url finished WebPositive Window Loading URL finished. Don't translate variable %url. %url dokončené +Remove finished Download Window Odstrániť dokončené diff --git a/data/catalogs/kits/tracker/ja.catkeys b/data/catalogs/kits/tracker/ja.catkeys index 304f2e11c9..0009beeeda 100644 --- a/data/catalogs/kits/tracker/ja.catkeys +++ b/data/catalogs/kits/tracker/ja.catkeys @@ -1,4 +1,4 @@ -1 japanese x-vnd.Haiku-libtracker 886034970 +1 japanese x-vnd.Haiku-libtracker 1680698556 OK WidgetAttributeText OK Icon view VolumeWindow アイコン表示 Add-ons FilePanelPriv アドオン @@ -14,7 +14,9 @@ Decrease size ContainerWindow サイズを小さく Mini icon view VolumeWindow ミニアイコン表示 You must have at least one attribute showing. PoseView 最低一つの属性を表示する必要があります。 Permissions InfoWindow アクセス権 +128 x 128 DeskWindow 128 x 128 Invert selection VolumeWindow 選択範囲を反転 +128 x 128 ContainerWindow 128 x 128 Recent documents FavoritesMenu 最近開いたドキュメント Modified QueryPoseView 更新日時 Created ContainerWindow 作成日時 @@ -39,6 +41,7 @@ Make active printer ContainerWindow プリンターを有効にする Create link here ContainerWindow ここにリンクを作成 Moving: StatusWindow 移動中: before FindPanel 以前 +Error emptying Trash FSUtils ごみ箱を空にしている途中でエラーが発生しました。 On FindPanel 有効 MiB WidgetAttributeText MiB greater than FindPanel より大きい @@ -89,6 +92,7 @@ Select all VolumeWindow すべて選択 Opens with: InfoWindow アプリケーション: If you %ifYouDoAction the mime settings, %osName may not behave properly!\n\nAre you sure you want to do this? FSUtils MIME 設定を%ifYouDoActionした場合、%osName が正常に動作しなくなる可能性があります!\n\n本当に続けますか? Open ContainerWindow 開く +96 x 96 DeskWindow 96 x 96 Error calculating folder size. InfoWindow フォルダーサイズの計算中にエラー発生。 New folder FilePanelPriv 新規フォルダー %name info InfoWindow InfoWindow Title %name の情報 @@ -309,6 +313,7 @@ The Tracker must be running to see Info windows. PoseView 情報ウィンドウ Other FilePermissionsView その他 Query name: FindPanel クエリ名: Permissions ContainerWindow アクセス権 +96 x 96 ContainerWindow 96 x 96 moving FSUtils 移動中 Identify InfoWindow ファイル形式を判別 Recent folders ContainerWindow 最近開いたフォルダー diff --git a/data/catalogs/kits/tracker/sk.catkeys b/data/catalogs/kits/tracker/sk.catkeys index 957a5cabee..dad1f51936 100644 --- a/data/catalogs/kits/tracker/sk.catkeys +++ b/data/catalogs/kits/tracker/sk.catkeys @@ -1,4 +1,4 @@ -1 slovak x-vnd.Haiku-libtracker 2588930404 +1 slovak x-vnd.Haiku-libtracker 2936402334 common B_COMMON_DIRECTORY spoločné OK WidgetAttributeText OK Icon view VolumeWindow Zobrazenie ikon @@ -41,6 +41,7 @@ Make active printer ContainerWindow Urobiť tlačiareň aktívnou Create link here ContainerWindow Vytvoriť odkaz tu Moving: StatusWindow Presúva sa: before FindPanel pred +Error emptying Trash FSUtils Chyba pri vyprázdňovaní Koša MiB WidgetAttributeText MiB greater than FindPanel väčší ako Delete PoseView Zmazať diff --git a/data/catalogs/preferences/3drendering/fr.catkeys b/data/catalogs/preferences/3drendering/fr.catkeys index bf885b099b..aa9118f577 100644 --- a/data/catalogs/preferences/3drendering/fr.catkeys +++ b/data/catalogs/preferences/3drendering/fr.catkeys @@ -1,13 +1,15 @@ -1 french x-vnd.Haiku-3DRendering 1918042667 +1 french x-vnd.Haiku-3DRendering 1725618140 List stack size: Capabilities Taille de la pile de listes : Information InfoView Informations Max. clipping planes: Capabilities Nombre de plans de coupes : +GL version: InfoView Version de MesaGL : Max. texture units: Capabilities Nombre maximum d'unités de textures : Renderer name: InfoView Nom du moteur de rendu : Vendor name: InfoView Nom du vendeur : Attributes stack size: Capabilities Taille de la pile d'attributs : Name stack size: Capabilities Taille de la pile de noms : Auxiliary buffer(s): Capabilities Tampon(s) auxilliaire(s) : +Max. recommended vertex elements: Capabilities Nombre d'index maximum recommandé : GLU version: InfoView Version de GLU : Model stack size: Capabilities Taille de la pile de modèles : Projection stack size: Capabilities Taille de la pile de projection : @@ -16,6 +18,7 @@ Max. 2D texture size: Capabilities Taille maximum des textures 2D : Max. convolution: Capabilities Convolution maximale : GLUT API version: InfoView Version de l'API GLUT : Texture stack size: Capabilities Taille de la pile de textures : +Max. evaluators equation order: Capabilities Ordre maximum des évaluateurs d'équations : Max. 3D texture size: Capabilities Taille maximum des textures 3D : 3D Rendering System name Rendu 3D Capabilities Capabilities Aptitudes diff --git a/data/catalogs/preferences/cpufrequency/sk.catkeys b/data/catalogs/preferences/cpufrequency/sk.catkeys index ccc88adf94..87f5b3572d 100644 --- a/data/catalogs/preferences/cpufrequency/sk.catkeys +++ b/data/catalogs/preferences/cpufrequency/sk.catkeys @@ -1,6 +1,7 @@ -1 slovak x-vnd.Haiku-CPUFrequencyPref 3079996868 +1 slovak x-vnd.Haiku-CPUFrequencyPref 1007318924 Ok Status view OK CPU frequency status view CPU Frequency View Zobrazenie stavy frekvencie CPU +OK Status view OK Set state Status view Nastaviť stav Defaults Pref Window Predvoľby Install replicant into Deskbar CPU Frequency View Nainštalovať replikant do Panelu diff --git a/data/catalogs/preferences/filetypes/sk.catkeys b/data/catalogs/preferences/filetypes/sk.catkeys index 78e9233b2e..d5d02bf3ee 100644 --- a/data/catalogs/preferences/filetypes/sk.catkeys +++ b/data/catalogs/preferences/filetypes/sk.catkeys @@ -1,4 +1,4 @@ -1 slovak x-vnd.Haiku-FileTypes 2037267651 +1 slovak x-vnd.Haiku-FileTypes 2496450458 Application types… FileTypes Window Typy aplikácií… Description: Application Types Window Popis: Args only Application Type Window Iba argumenty @@ -49,6 +49,7 @@ Name: Application Types Window Názov: Group name: New File Type Window Názov skupiny: Preferred application FileType Window Preferovaná aplikácia Progress Application Types Window Priebeh +Set preferred application Preferred App Menu Nastaviť preferovanú aplikáciu File Application Type Window Súbor Version: Application Type Window Verzia: Select… FileTypes Window Vybrať… From ea8b1e14f9519b9aaca6e6ddea8b01babc311beb Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Wed, 8 Aug 2012 12:25:51 -0400 Subject: [PATCH 21/34] OpenWithWindow: Fix crash at closing, and fix filtering Following hrev44493, the way ShouldShowPose was used changed a bit, to harmonize with type ahead filtering. This updates OpenWithWindow to use a BRefFilter to do its filtering rather than overloading ShouldShowPose. --- src/kits/tracker/OpenWithWindow.cpp | 29 ++++++++++++++++++++--------- src/kits/tracker/OpenWithWindow.h | 17 +++++++++++++++-- 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/src/kits/tracker/OpenWithWindow.cpp b/src/kits/tracker/OpenWithWindow.cpp index f14f59999e..0238a464c8 100644 --- a/src/kits/tracker/OpenWithWindow.cpp +++ b/src/kits/tracker/OpenWithWindow.cpp @@ -648,6 +648,8 @@ OpenWithPoseView::InitDirentIterator(const entry_ref*) HideBarberPole(); return NULL; } + SetRefFilter(new OpenWithRefFilter(fIterator, entryList, + (fHaveCommonPreferredApp ? &fPreferredRef : 0))); return fIterator; } @@ -935,16 +937,25 @@ OpenWithPoseView::OpenWithRelationDescription(const Model* model, } -bool -OpenWithPoseView::ShouldShowPose(const Model* model, const PoseInfo* poseInfo) -{ - OpenWithContainerWindow* window = ContainerWindow(); - // filter for add_poses - if (!fIterator->CanOpenWithFilter(model, window->EntryList(), - fHaveCommonPreferredApp ? &fPreferredRef : 0)) - return false; +// #pragma mark - - return _inherited::ShouldShowPose(model, poseInfo); + +OpenWithRefFilter::OpenWithRefFilter(SearchForSignatureEntryList* iterator, + const BMessage *entryList, entry_ref* preferredRef) + : + fIterator(iterator), + fEntryList(entryList), + fPreferredRef(preferredRef) +{ +} + + +bool +OpenWithRefFilter::Filter(const entry_ref* ref, BNode* node, stat_beos* st, + const char* filetype) +{ + Model *model = new Model(ref, true, true); + return fIterator->CanOpenWithFilter(model, fEntryList, fPreferredRef); } diff --git a/src/kits/tracker/OpenWithWindow.h b/src/kits/tracker/OpenWithWindow.h index 21baf5844e..e3a4c6f557 100644 --- a/src/kits/tracker/OpenWithWindow.h +++ b/src/kits/tracker/OpenWithWindow.h @@ -252,8 +252,6 @@ class OpenWithPoseView : public BPoseView { // override to add selecting the default handling app // for selection - virtual bool ShouldShowPose(const Model*, const PoseInfo*); - virtual void Pulse(); virtual void KeyDown(const char* bytes, int32 count); @@ -269,6 +267,21 @@ class OpenWithPoseView : public BPoseView { }; +class OpenWithRefFilter: public BRefFilter +{ + public: + OpenWithRefFilter(SearchForSignatureEntryList*, const BMessage*, + entry_ref*); + bool Filter(const entry_ref* ref, BNode* node, stat_beos* st, + const char* filetype); + + private: + SearchForSignatureEntryList* fIterator; + const BMessage *fEntryList; + entry_ref* fPreferredRef; +}; + + class RelationCachingModelProxy { public: RelationCachingModelProxy(Model* model); From 7d460e3bb9b7635d77992c2fe7e424de8dee0c5c Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Wed, 8 Aug 2012 12:31:02 -0400 Subject: [PATCH 22/34] PoseList: fix an assertion failure --- src/kits/tracker/PoseList.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/kits/tracker/PoseList.cpp b/src/kits/tracker/PoseList.cpp index 75d639e03c..4e5d8fd17e 100644 --- a/src/kits/tracker/PoseList.cpp +++ b/src/kits/tracker/PoseList.cpp @@ -127,13 +127,16 @@ PoseList::FindAllPoses(const node_ref *node) const continue; } + if (!model->IsSymLink()) + continue; + model = model->LinkTo(); if (model && *model->NodeRef() == *node) { result->AddItem(pose); continue; } - if (!model && pose->TargetModel()->IsSymLink()) { + if (!model) { model = new Model(pose->TargetModel()->EntryRef(), true); if (*model->NodeRef() == *node) result->AddItem(pose); From 5489384d4538de742017aa912222e4921b4673bb Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Wed, 8 Aug 2012 13:04:49 -0400 Subject: [PATCH 23/34] Tracker: crash fix in FilePanel Regression of hrev44493, file panel crashed when changing dir and filtering being disabled (sorry!) Also fix the widget editing when filtering is activated. Now renaming a file/folder and causing it to 'fall off' the filter does work. --- src/kits/tracker/PoseView.cpp | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp index ca8354bf55..9e6987f4f7 100644 --- a/src/kits/tracker/PoseView.cpp +++ b/src/kits/tracker/PoseView.cpp @@ -1078,6 +1078,8 @@ BPoseView::CommitActivePose(bool saveChanges) { if (ActivePose()) { int32 index = fPoseList->IndexOf(ActivePose()); + if (fFiltering) + index = fFilteredPoseList->IndexOf(ActivePose()); BPoint loc(0, index * fListElemHeight); if (ViewMode() != kListMode) loc = ActivePose()->Location(this); @@ -1456,7 +1458,7 @@ BPoseView::AddPosesTask(void* castToParams) return B_ERROR; } - ASSERT(!modelChunkIndex); + ASSERT(modelChunkIndex == -1); delete posesResult; delete container; @@ -3315,6 +3317,15 @@ BPoseView::NewFileFromTemplate(const BMessage* message) BPose* pose = EntryCreated(TargetModel()->NodeRef(), &destNodeRef, destEntryRef.name, &index); + if (fFiltering) { + if (fFilteredPoseList->FindPose(&destNodeRef, &index) == NULL) { + float scrollBy = 0; + BRect bounds = Bounds(); + AddPoseToList(fFilteredPoseList, true, true, pose, bounds, scrollBy, + true, &index); + } + } + if (pose) { WatchNewNode(pose->TargetModel()->NodeRef()); UpdateScrollRange(); @@ -3339,7 +3350,18 @@ BPoseView::NewFolder(const BMessage* message) PlaceFolder(&ref, message); int32 index; - BPose* pose = EntryCreated(TargetModel()->NodeRef(), &nodeRef, ref.name, &index); + BPose* pose = EntryCreated(TargetModel()->NodeRef(), &nodeRef, ref.name, + &index); + + if (fFiltering) { + if (fFilteredPoseList->FindPose(&nodeRef, &index) == NULL) { + float scrollBy = 0; + BRect bounds = Bounds(); + AddPoseToList(fFilteredPoseList, true, true, pose, bounds, + scrollBy, true, &index); + } + } + if (pose) { UpdateScrollRange(); CommitActivePose(); @@ -8008,7 +8030,8 @@ BPoseView::ClearPoses() // clear all pose lists fPoseList->MakeEmpty(); - fFilteredPoseList->MakeEmpty(); + if (fFiltering) + fFilteredPoseList->MakeEmpty(); fMimeTypeListIsDirty = true; fVSPoseList->MakeEmpty(); fZombieList->MakeEmpty(); From 0bc1be3252ac6e87e2b046fb06f8d36425c23b51 Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Wed, 8 Aug 2012 14:59:29 -0400 Subject: [PATCH 24/34] PoseView: Fix crash in FilePanel Again, a regression fix. Under some circumstance, fFiltering was wrongly set. Also, the node wasn't open before checking the BRefFilter and some filters expected that to be. --- src/kits/tracker/PoseView.cpp | 8 +++----- src/kits/tracker/PoseView.h | 3 ++- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp index 9e6987f4f7..40db53ef01 100644 --- a/src/kits/tracker/PoseView.cpp +++ b/src/kits/tracker/PoseView.cpp @@ -8030,8 +8030,6 @@ BPoseView::ClearPoses() // clear all pose lists fPoseList->MakeEmpty(); - if (fFiltering) - fFilteredPoseList->MakeEmpty(); fMimeTypeListIsDirty = true; fVSPoseList->MakeEmpty(); fZombieList->MakeEmpty(); @@ -8184,8 +8182,7 @@ BPoseView::Refresh() AddPoses(TargetModel()); TargetModel()->CloseNode(); - // fRefFilter must be set for this to happen - if (fFiltering) { + if (fRefFilter != NULL) { fFiltering = false; StartFiltering(); } @@ -10018,6 +10015,7 @@ BPoseView::FilterPose(BPose* pose) if (fRefFilter != NULL) { PoseInfo poseInfo; ReadPoseInfo(pose->TargetModel(), &poseInfo); + pose->TargetModel()->OpenNode(); if (!ShouldShowPose(pose->TargetModel(), &poseInfo)) return false; } @@ -10093,7 +10091,7 @@ BPoseView::StopFiltering() void BPoseView::ClearFilter() { - if (!fFiltering || fRefFilter != NULL) + if (!fFiltering) return; fCountView->CancelFilter(); diff --git a/src/kits/tracker/PoseView.h b/src/kits/tracker/PoseView.h index 621f10ac3a..88b30a06dd 100644 --- a/src/kits/tracker/PoseView.h +++ b/src/kits/tracker/PoseView.h @@ -1152,7 +1152,8 @@ inline void BPoseView::SetRefFilter(BRefFilter* filter) { fRefFilter = filter; - FilterChanged(); + if (filter != NULL) + FilterChanged(); } From aafb6faf57de4b30be7bb10c5a70245498d7344a Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Wed, 8 Aug 2012 16:36:02 -0400 Subject: [PATCH 25/34] PoseView: crash related to PoseView containing many files Due to a previous change in the incrementation of models in AddPosesTask, PoseView containing large number of poses were prone to crash in ClearPoses(). Gaps in PoseList or other invalid memory area were introduced. Thanks to x-ist for precious assistance in spotting those issues! --- src/kits/tracker/PoseView.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp index 40db53ef01..779947c161 100644 --- a/src/kits/tracker/PoseView.cpp +++ b/src/kits/tracker/PoseView.cpp @@ -1394,6 +1394,7 @@ BPoseView::AddPosesTask(void* castToParams) PRINT(("1 adding model %s to zombie list, error %s\n", model->Name(), strerror(model->InitCheck()))); view->fZombieList->AddItem(model); + modelChunkIndex--; continue; } @@ -1402,6 +1403,7 @@ BPoseView::AddPosesTask(void* castToParams) if (!PoseVisible(model, &(posesResult->fPoseInfos[modelChunkIndex]))) { + model->CloseNode(); modelChunkIndex--; continue; } @@ -1414,7 +1416,7 @@ BPoseView::AddPosesTask(void* castToParams) bigtime_t now = system_time(); - if (!count || modelChunkIndex >= kMaxAddPosesChunk + if (!count || modelChunkIndex >= kMaxAddPosesChunk - 1 || now > nextChunkTime) { // keep getting models until we get of them // or until 300000 runs out From 74e288401db48905cf1c10a4560c4315da061bf3 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Wed, 8 Aug 2012 19:39:57 -0400 Subject: [PATCH 26/34] 64-bit fixes. Gets Debugger fully compiling on x86-64. --- headers/private/shared/Array.h | 4 ++-- src/kits/interface/ColumnListView.cpp | 4 ++-- src/kits/interface/ColumnTypes.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/headers/private/shared/Array.h b/headers/private/shared/Array.h index 82ec15be32..89e9934ace 100644 --- a/headers/private/shared/Array.h +++ b/headers/private/shared/Array.h @@ -150,8 +150,8 @@ Array::Remove(int32 index, int32 count) if (index < 0 || count < 0 || index + count > fSize) { #if DEBUG char buffer[128]; - snprintf(buffer, sizeof(buffer), "Array::Remove(): index: %ld, " - "count: %ld, size: %ld", index, count, fSize); + snprintf(buffer, sizeof(buffer), "Array::Remove(): index: %" B_PRId32 + ", count: %" B_PRId32 ", size: %" B_PRId32, index, count, fSize); debugger(buffer); #endif return false; diff --git a/src/kits/interface/ColumnListView.cpp b/src/kits/interface/ColumnListView.cpp index c89e77284c..2462cb94a3 100644 --- a/src/kits/interface/ColumnListView.cpp +++ b/src/kits/interface/ColumnListView.cpp @@ -454,7 +454,7 @@ BRow::BRow(float height) BRow::~BRow() { while (true) { - BField* field = (BField*) fFields.RemoveItem(0L); + BField* field = (BField*) fFields.RemoveItem((int32)0); if (field == 0) break; @@ -752,7 +752,7 @@ BColumnListView::BColumnListView(const char* name, uint32 flags, BColumnListView::~BColumnListView() { - while (BColumn* column = (BColumn*)fColumns.RemoveItem(0L)) + while (BColumn* column = (BColumn*)fColumns.RemoveItem((int32)0)) delete column; } diff --git a/src/kits/interface/ColumnTypes.cpp b/src/kits/interface/ColumnTypes.cpp index 82a8fef579..ef3404fee6 100644 --- a/src/kits/interface/ColumnTypes.cpp +++ b/src/kits/interface/ColumnTypes.cpp @@ -406,9 +406,9 @@ BSizeColumn::DrawField(BField* _field, BRect rect, BView* parent) parent->GetFont(&font); if (size < kKB_SIZE) { - sprintf(str, "%Ld bytes", size); + sprintf(str, "%" B_PRId64 " bytes", size); if (font.StringWidth(str) > width) - sprintf(str, "%Ld B", size); + sprintf(str, "%" B_PRId64 " B", size); } else { const char* suffix; float float_value; From 6e3918fa63cf2657089ccb2eccc3820ab3e1f86e Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Wed, 8 Aug 2012 19:58:40 -0400 Subject: [PATCH 27/34] Don't release reference if we don't have one. Fixes a crash seen if Debugger was run on an unsupported architecture, e.g. x86-64 (for now). --- src/apps/debugger/debugger_interface/DebuggerInterface.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/apps/debugger/debugger_interface/DebuggerInterface.cpp b/src/apps/debugger/debugger_interface/DebuggerInterface.cpp index ae3eb33993..25043899d7 100644 --- a/src/apps/debugger/debugger_interface/DebuggerInterface.cpp +++ b/src/apps/debugger/debugger_interface/DebuggerInterface.cpp @@ -239,7 +239,8 @@ DebuggerInterface::DebuggerInterface(team_id teamID) DebuggerInterface::~DebuggerInterface() { - fArchitecture->ReleaseReference(); + if (fArchitecture != NULL) + fArchitecture->ReleaseReference(); Close(false); @@ -251,6 +252,9 @@ status_t DebuggerInterface::Init() { // create the architecture + // TODO: this probably needs to be rethought a bit, + // since especially when we eventually support remote debugging, + // the architecture will depend on the target machine, not the host #ifdef ARCH_x86 fArchitecture = new(std::nothrow) ArchitectureX86(this); #else From 6e1a7a15cd824d8ba1846fa8f009e55e6d21bec3 Mon Sep 17 00:00:00 2001 From: x-ist Date: Mon, 6 Aug 2012 19:44:42 +0000 Subject: [PATCH 28/34] Fix BTextView tab calculation. In rare cases such as described in #7955 BTextView happens to calculate the width of a tab close to zero (e.g. 0.000031). This patch adds a fallback to the default tab width in that case. Signed-off-by: Ryan Leavengood --- src/kits/interface/TextView.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/kits/interface/TextView.cpp b/src/kits/interface/TextView.cpp index d46414d982..f93582850f 100644 --- a/src/kits/interface/TextView.cpp +++ b/src/kits/interface/TextView.cpp @@ -4198,7 +4198,11 @@ BTextView::_StyledWidth(int32 fromOffset, int32 length, float* outAscent, float BTextView::_ActualTabWidth(float location) const { - return fTabWidth - fmod(location, fTabWidth); + float tabWidth = fTabWidth - fmod(location, fTabWidth); + if (round(tabWidth) == 0) + tabWidth = fTabWidth; + + return tabWidth; } From ba1c9c6c6da56154f64fae4c455dbe68406e4c33 Mon Sep 17 00:00:00 2001 From: czeidler Date: Thu, 9 Aug 2012 13:33:01 +1200 Subject: [PATCH 29/34] The hotspot is already included in the shift. This became visible when dragging an image together with a cursor that has a reasonable large hotspot. In this case the cursor and the bitmap were shifted to much. --- src/servers/app/drawing/HWInterface.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/servers/app/drawing/HWInterface.cpp b/src/servers/app/drawing/HWInterface.cpp index 8e448eb38a..2faa73818b 100644 --- a/src/servers/app/drawing/HWInterface.cpp +++ b/src/servers/app/drawing/HWInterface.cpp @@ -953,7 +953,7 @@ HWInterface::_AdoptDragBitmap(const ServerBitmap* bitmap, const BPoint& offset) bitmapFrame.OffsetBy(shift); fCursorAndDragBitmap = new ServerCursor(combindedBounds, - bitmap->ColorSpace(), 0, hotspot + shift); + bitmap->ColorSpace(), 0, shift); // clear the combined buffer uint8* dst = (uint8*)fCursorAndDragBitmap->Bits(); From 7d8b63fdab532ade5f81cde51735340adb980a38 Mon Sep 17 00:00:00 2001 From: Niels Sascha Reedijk Date: Thu, 9 Aug 2012 06:26:20 +0200 Subject: [PATCH 30/34] Update translations from Pootle --- .../inbound_filters/match_header/fr.catkeys | 4 +- .../inbound_filters/spam_filter/fr.catkeys | 3 +- .../inbound_protocols/pop3/fr.catkeys | 9 +- .../outbound_filters/fortune/fr.catkeys | 3 +- .../outbound_protocols/smtp/fr.catkeys | 9 +- .../media/media-add-ons/mixer/zh-Hans.catkeys | 3 +- .../add-ons/screen_savers/glife/fr.catkeys | 9 +- .../screen_savers/glife/zh-Hans.catkeys | 8 +- .../add-ons/screen_savers/leaves/fr.catkeys | 2 +- .../add-ons/tracker/zipomatic/fr.catkeys | 2 +- .../catalogs/apps/aboutsystem/zh-Hans.catkeys | 4 +- data/catalogs/apps/bootmanager/fr.catkeys | 2 +- data/catalogs/apps/bsnow/fr.catkeys | 3 + data/catalogs/apps/codycam/fr.catkeys | 2 +- data/catalogs/apps/deskbar/zh-Hans.catkeys | 5 +- data/catalogs/apps/deskcalc/zh-Hans.catkeys | 4 +- data/catalogs/apps/diskprobe/zh-Hans.catkeys | 3 +- data/catalogs/apps/drivesetup/fr.catkeys | 5 +- data/catalogs/apps/drivesetup/sk.catkeys | 8 +- data/catalogs/apps/drivesetup/zh-Hans.catkeys | 13 ++- data/catalogs/apps/expander/sk.catkeys | 2 +- data/catalogs/apps/installer/sk.catkeys | 17 ++-- data/catalogs/apps/installer/zh-Hans.catkeys | 4 +- data/catalogs/apps/launchbox/fr.catkeys | 4 +- data/catalogs/apps/launchbox/zh-Hans.catkeys | 3 +- data/catalogs/apps/mail/fr.catkeys | 13 +-- data/catalogs/apps/mail/zh-Hans.catkeys | 4 +- data/catalogs/apps/mediaplayer/ja.catkeys | 3 +- data/catalogs/apps/mediaplayer/sk.catkeys | 4 +- .../catalogs/apps/mediaplayer/zh-Hans.catkeys | 6 +- .../apps/screenshot/Screenshot/sk.catkeys | 2 +- .../screenshot/Screenshot/zh-Hans.catkeys | 3 +- data/catalogs/apps/showimage/fr.catkeys | 2 +- .../apps/soundrecorder/zh-Hans.catkeys | 10 +- data/catalogs/apps/terminal/fr.catkeys | 2 +- data/catalogs/apps/terminal/zh-Hans.catkeys | 3 +- data/catalogs/apps/webpositive/sk.catkeys | 67 ++++++++++++- .../catalogs/apps/webpositive/zh-Hans.catkeys | 98 +++++++++++++++++++ data/catalogs/bin/desklink/fr.catkeys | 3 +- data/catalogs/bin/dstcheck/fr.catkeys | 4 +- data/catalogs/kits/mail/fr.catkeys | 5 +- .../kits/textencoding/zh-Hans.catkeys | 25 +++++ data/catalogs/kits/tracker/fr.catkeys | 13 ++- data/catalogs/kits/tracker/sk.catkeys | 13 ++- data/catalogs/kits/tracker/zh-Hans.catkeys | 7 +- .../preferences/cpufrequency/fr.catkeys | 3 +- .../preferences/cpufrequency/ja.catkeys | 3 +- .../catalogs/preferences/filetypes/fr.catkeys | 3 +- .../catalogs/preferences/filetypes/ja.catkeys | 3 +- .../catalogs/preferences/filetypes/sk.catkeys | 6 +- .../catalogs/preferences/mail/zh-Hans.catkeys | 3 +- .../preferences/printers/zh-Hans.catkeys | 3 +- .../preferences/virtualmemory/sk.catkeys | 2 +- data/catalogs/servers/mail/fr.catkeys | 3 +- data/catalogs/servers/mail/zh-Hans.catkeys | 9 +- 55 files changed, 381 insertions(+), 75 deletions(-) create mode 100644 data/catalogs/apps/bsnow/fr.catkeys create mode 100644 data/catalogs/apps/webpositive/zh-Hans.catkeys create mode 100644 data/catalogs/kits/textencoding/zh-Hans.catkeys diff --git a/data/catalogs/add-ons/mail_daemon/inbound_filters/match_header/fr.catkeys b/data/catalogs/add-ons/mail_daemon/inbound_filters/match_header/fr.catkeys index d8920a9258..f0ed53cc74 100644 --- a/data/catalogs/add-ons/mail_daemon/inbound_filters/match_header/fr.catkeys +++ b/data/catalogs/add-ons/mail_daemon/inbound_filters/match_header/fr.catkeys @@ -1,10 +1,12 @@ -1 french x-vnd.Haiku-MatchHeader 3677427558 +1 french x-vnd.Haiku-MatchHeader 1205906732 ConfigView has ConfigView a Move to ConfigView Déplacer vers Then ConfigView Alors +value (use REGEX: in from of regular expressions like *spam*) ConfigView valeur (utilisez REGEX : à partir d'expressions régulières comme *spam*) this field is based on the action ConfigView ce champ est basé sur l'action Delete message ConfigView Supprimer le message +Rule filter RuleFilter Règle de filtrage ConfigView Set flags to ConfigView Placez les drapeaux à Set as read ConfigView Marquer comme lu diff --git a/data/catalogs/add-ons/mail_daemon/inbound_filters/spam_filter/fr.catkeys b/data/catalogs/add-ons/mail_daemon/inbound_filters/spam_filter/fr.catkeys index 605e6b4d60..a1776ff7c9 100644 --- a/data/catalogs/add-ons/mail_daemon/inbound_filters/spam_filter/fr.catkeys +++ b/data/catalogs/add-ons/mail_daemon/inbound_filters/spam_filter/fr.catkeys @@ -1,8 +1,9 @@ -1 french x-vnd.Haiku-SpamFilter 3781698701 +1 french x-vnd.Haiku-SpamFilter 1975155212 or empty e-mail SpamFilterConfig ou courriel vide Spam Filter (AGMS Bayesian) SpamFilter Filtre anti-spam (AGMS bayésien) Genuine below and uncertain above: SpamFilterConfig Fiables dessous et incertains dessus : Spam above: SpamFilterConfig Spam dessus : Add spam rating to start of subject SpamFilterConfig Ajoutez l'estimation de spam au début du sujet Learn from all incoming e-mail SpamFilterConfig Apprendre de tous les courriers entrants +Sorry, unable to launch the spamdbm program to let you edit the server settings. SpamFilterConfig Désolé, impossible de lancer le programme spamdbm pour vous laisser modifier les réglages du serveur. Close SpamFilterConfig Fermer diff --git a/data/catalogs/add-ons/mail_daemon/inbound_protocols/pop3/fr.catkeys b/data/catalogs/add-ons/mail_daemon/inbound_protocols/pop3/fr.catkeys index 8ee96939f9..906a9fce13 100644 --- a/data/catalogs/add-ons/mail_daemon/inbound_protocols/pop3/fr.catkeys +++ b/data/catalogs/add-ons/mail_daemon/inbound_protocols/pop3/fr.catkeys @@ -1,12 +1,15 @@ -1 french x-vnd.Haiku-POP3 334151960 +1 french x-vnd.Haiku-POP3 672805158 Plain text ConfigView Texte brut Sending APOP authentication… pop3 Envoi de l'authentification APOP… Sending username… pop3 Envoi du nom d'utilisateur… +: The server does not support APOP. pop3 : le serveur ne prend pas en charge l'APOP. +Getting mailbox size… pop3 Obtention de la taille de la boîte aux lettres… Connecting to POP3 server… pop3 Connexion au serveur POP3… +Getting UniqueIDs… pop3 Obtention des identifiants… : No reply.\n pop3 : Pas de réponse.\n : Connection refused or host not found pop3 : Connexion refusée ou hôte introuvable -Error while connecting to server %serv pop3 Erreur lors de la connexion au serveur %serv -Error while authenticating user %user pop3 Erreur d'authentification de l'utilisateur %user +Error while connecting to server %serv pop3 Impossible d'ouvrir une connexion avec le serveur %serv +Error while authenticating user %user pop3 L'utilisateur %user n'a pas pu être authentifié Destination: ConfigView Destination : APOP ConfigView APOP Sending password… pop3 Envoi du mot de passe… diff --git a/data/catalogs/add-ons/mail_daemon/outbound_filters/fortune/fr.catkeys b/data/catalogs/add-ons/mail_daemon/outbound_filters/fortune/fr.catkeys index f13aa922a4..51e866971f 100644 --- a/data/catalogs/add-ons/mail_daemon/outbound_filters/fortune/fr.catkeys +++ b/data/catalogs/add-ons/mail_daemon/outbound_filters/fortune/fr.catkeys @@ -1,3 +1,4 @@ -1 french x-vnd.Haiku-Fortune 3795320632 +1 french x-vnd.Haiku-Fortune 1292458430 Fortune file: ConfigView Fichier de Fortune : Fortune cookie says:\n\n ConfigView Le cookie de Fortune indique :\n\n +Tag line: ConfigView Ligne d'étiquette : diff --git a/data/catalogs/add-ons/mail_daemon/outbound_protocols/smtp/fr.catkeys b/data/catalogs/add-ons/mail_daemon/outbound_protocols/smtp/fr.catkeys index 4a9bcec35b..49a2f119a3 100644 --- a/data/catalogs/add-ons/mail_daemon/outbound_protocols/smtp/fr.catkeys +++ b/data/catalogs/add-ons/mail_daemon/outbound_protocols/smtp/fr.catkeys @@ -1,11 +1,16 @@ -1 french x-vnd.Haiku-SMTP 2726836340 +1 french x-vnd.Haiku-SMTP 2740407895 SMTP server: ConfigView Serveur SMTP : -Error while logging in to %serv smtp Erreur lors de la connexion à %serv +STARTTLS ConfigView STARTTLS +Error while logging in to %serv smtp Impossible de se connecter à %serv +Unencrypted ConfigView Non-chiffré . The server says:\n smtp . Le serveur indique :\n ESMTP ConfigView ESMTP Connecting to server… smtp Connexion au serveur… +Error while opening connection to %serv smtp Impossible d'ouvrir une connexion avec %serv +POP3 authentication failed. The server said:\n smtp L'authentification POP3 a échoué. Le serveur a indiqué :\n Destination: ConfigView Destination : : Connection refused or host not found. smtp : Connexion refusée ou hôte non trouvé. None ConfigView Aucun POP3 before SMTP ConfigView POP3 avant SMTP +SSL ConfigView SSL . The server said:\n smtp . Le serveur a indiqué :\n diff --git a/data/catalogs/add-ons/media/media-add-ons/mixer/zh-Hans.catkeys b/data/catalogs/add-ons/media/media-add-ons/mixer/zh-Hans.catkeys index f5bd74f168..45057495a5 100644 --- a/data/catalogs/add-ons/media/media-add-ons/mixer/zh-Hans.catkeys +++ b/data/catalogs/add-ons/media/media-add-ons/mixer/zh-Hans.catkeys @@ -1,4 +1,4 @@ -1 english x-vnd.Haiku-mixer.media_addon 714120498 +1 english x-vnd.Haiku-mixer.media_addon 3116938264 Input gain controls represent AudioMixer 输入增益控制表示 Linear interpolation AudioMixer 线性插补 Virtual output channels AudioMixer 虚拟输出通道 @@ -8,6 +8,7 @@ Allow input channel remapping AudioMixer 启用输入频道重映射 Resampling algorithm AudioMixer 重采样算法 Attenuate mixer output by 3dB (like BeOS R5) AudioMixer 将输出音量衰减 3dB (类似 BeOS R5) Display balance control for stereo connections AudioMixer 为立体声系统显示均衡控制器 +To output AudioMixer 输出 not connected AudioMixer 未连接 Refuse input format changes AudioMixer 禁止输入格式改变 Drop/repeat samples AudioMixer 拽入/重复采样 diff --git a/data/catalogs/add-ons/screen_savers/glife/fr.catkeys b/data/catalogs/add-ons/screen_savers/glife/fr.catkeys index dfa27a238d..fb98e3ba90 100644 --- a/data/catalogs/add-ons/screen_savers/glife/fr.catkeys +++ b/data/catalogs/add-ons/screen_savers/glife/fr.catkeys @@ -1,8 +1,15 @@ -1 french x-vnd.Haiku-GLifeScreensaver 2208227714 +1 french x-vnd.Haiku-GLifeScreensaver 1707534289 Grid Border: %li GLife ScreenSaver Bordure de la grille : %li Grid Width: GLife ScreenSaver Largeur de la grille : +none GLife ScreenSaver aucun Grid Height: GLife ScreenSaver Hauteur de la grille : +%sx GLife ScreenSaver This is a factor: the x represents 'times' %sx +None GLife ScreenSaver Aucun +4x GLife ScreenSaver This is a factor: the x represents 'times' 4x Grid Width: %li GLife ScreenSaver Largeur de la grille : %li Grid Height: %li GLife ScreenSaver Hauteur de la grille : %li +Grid Life Delay: GLife ScreenSaver Délai de la grille de vie : +OpenGL \"Game of Life\" GLife ScreenSaver OpenGL « Jeu de la vie » +Grid Life Delay: %s GLife ScreenSaver Délai de la grille de vie : %s Grid Border: GLife ScreenSaver Bordure de la grille : by Aaron Hill GLife ScreenSaver par Aaron Hill diff --git a/data/catalogs/add-ons/screen_savers/glife/zh-Hans.catkeys b/data/catalogs/add-ons/screen_savers/glife/zh-Hans.catkeys index ba659beeed..a9351b4b54 100644 --- a/data/catalogs/add-ons/screen_savers/glife/zh-Hans.catkeys +++ b/data/catalogs/add-ons/screen_savers/glife/zh-Hans.catkeys @@ -1,4 +1,7 @@ -1 english x-vnd.Haiku-GLifeScreensaver 3809419477 +1 english x-vnd.Haiku-GLifeScreensaver 1707534289 +Grid Border: %li GLife ScreenSaver 栅栏边界:%li +Grid Width: GLife ScreenSaver 栅栏宽度:%li +none GLife ScreenSaver 无 Grid Height: GLife ScreenSaver 栅栏高度: %sx GLife ScreenSaver This is a factor: the x represents 'times' %sx None GLife ScreenSaver 无 @@ -7,3 +10,6 @@ Grid Width: %li GLife ScreenSaver 栅栏宽度:%li Grid Height: %li GLife ScreenSaver 栅栏高度:%li Grid Life Delay: GLife ScreenSaver 栅栏显示延迟: OpenGL \"Game of Life\" GLife ScreenSaver OpenGL \"游戏人生\" +Grid Life Delay: %s GLife ScreenSaver 栅栏显示延迟: +Grid Border: GLife ScreenSaver 栅栏边界: +by Aaron Hill GLife ScreenSaver 由 Aaron Hill 编写 diff --git a/data/catalogs/add-ons/screen_savers/leaves/fr.catkeys b/data/catalogs/add-ons/screen_savers/leaves/fr.catkeys index 57ed93d50c..32f6e4d11b 100644 --- a/data/catalogs/add-ons/screen_savers/leaves/fr.catkeys +++ b/data/catalogs/add-ons/screen_savers/leaves/fr.catkeys @@ -3,4 +3,4 @@ Drop rate: Leaves Vitesse de chute : Size variation: Leaves Variations de tailles : Leaves Leaves Feuilles Leaf size: Leaves Taille des feuilles : -by Deyan Genovski, Geoffry Song Leaves Par Deyan Genovski et Geoffry Song +by Deyan Genovski, Geoffry Song Leaves par Deyan Genovski et Geoffry Song diff --git a/data/catalogs/add-ons/tracker/zipomatic/fr.catkeys b/data/catalogs/add-ons/tracker/zipomatic/fr.catkeys index 4c16127a5c..5303a82836 100644 --- a/data/catalogs/add-ons/tracker/zipomatic/fr.catkeys +++ b/data/catalogs/add-ons/tracker/zipomatic/fr.catkeys @@ -12,7 +12,7 @@ Are you sure you want to stop creating this archive? file:ZipOMaticWindow.cpp %ld files added. file:ZipOMaticWindow.cpp %ld fichiers ajoutés. Stopped file:ZipOMaticWindow.cpp Arrêté Archive file:ZipperThread.cpp Archive -Error creating archive file:ZipOMaticWindow.cpp Erreur de création de l'archive +Error creating archive file:ZipOMaticWindow.cpp Impossible de créer l'archive You have %ld Zip-O-Matic running.\n\n file:ZipOMatic.cpp Vous avez %ld Zip-O-Matic en fonctionnement.\n\n Archive created OK file:ZipOMaticWindow.cpp Création de l'archive réussie Stop them file:ZipOMatic.cpp Les arrêter diff --git a/data/catalogs/apps/aboutsystem/zh-Hans.catkeys b/data/catalogs/apps/aboutsystem/zh-Hans.catkeys index c136b69277..dcc47e2056 100644 --- a/data/catalogs/apps/aboutsystem/zh-Hans.catkeys +++ b/data/catalogs/apps/aboutsystem/zh-Hans.catkeys @@ -1,4 +1,4 @@ -1 english x-vnd.Haiku-About 3434348710 +1 english x-vnd.Haiku-About 519561637 Copyright © 1999-2010 by the authors of Gutenprint. All rights reserved. AboutView 版权 © 1999-2010 Gutenprint 的所有编写者。版权所有。 Travis Geiselbrecht (and his NewOS kernel)\n AboutView Travis Geiselbrecht (和他的 NewOS 内核)\n BSD (4-clause) AboutView BSD(4-条款) @@ -11,6 +11,7 @@ The Haiku-Ports team\n AboutView Haiku-Ports 小组\n Copyright © 1998-2003 Daniel Veillard. All rights reserved. AboutView 版权 © 1998-2003 Daniel Veillard。版权所有。 %d MiB used (%d%%) AboutView 已用 %d MiB (%d%%) Website, marketing & documentation:\n AboutView 网站管理,商业宣传以及文档编写:\n +GNU LGPL v2.1 AboutView GNU LGPL v2.1 AboutSystem System name 关于系统 MIT (no promotion) AboutView MIT(无附加条款) Copyright © 2003 Peter Hanappe and others. AboutView 版权 © 2003 Peter Hanappe 及其他人员。 @@ -39,6 +40,7 @@ Copyright © 2002-2004 Vivek Mohan. All rights reserved. AboutView 版权© 200 %.2f GHz AboutView %.2f GHz Memory: AboutView 内存状态: Copyright © 1996-1997 Jeff Prosise. All rights reserved. AboutView 版权 © 1996-1997 Jeff Prosise。版权所有。 +Copyright © 2006-2012 Kentaro Fukuchi AboutView 版权所有 © 2006-2012 Kentaro Fukuchi Copyright © 1994-2009, Thomas G. Lane, Guido Vollbeding. This software is based in part on the work of the Independent JPEG Group. AboutView 版权 © 1994-2009, Thomas G. Lane, Guido Vollbeding。本软件基于 Independent JPEG Group 的部分工作。 Past maintainers:\n AboutView 先前维护人员:\n \n\nSpecial thanks to:\n AboutView \n\n特别感谢:\n diff --git a/data/catalogs/apps/bootmanager/fr.catkeys b/data/catalogs/apps/bootmanager/fr.catkeys index a5beb65355..f5f4fff2e0 100644 --- a/data/catalogs/apps/bootmanager/fr.catkeys +++ b/data/catalogs/apps/bootmanager/fr.catkeys @@ -53,7 +53,7 @@ Error reading partition table BootManagerController Title Erreur de lecture de l Installation of boot menu failed BootManagerController Title Echec de l'installation du menu de démarrage Backup Master Boot Record BootManagerController Title Sauvegarde du MBR Quit DrivesPage Button Quitter -About to write the boot menu to disk. Are you sure you want to continue? BootManagerController vous êtes sur le point d'écrire le menu de démarrage sur le disque. Êtes-vous sûr de vouloir continuer ? +About to write the boot menu to disk. Are you sure you want to continue? BootManagerController Vous êtes sur le point d'écrire le menu de démarrage sur le disque. Êtes-vous sûr de vouloir continuer ? The old Master Boot Record was successfully saved to %s. BootManagerController L'ancien MBR a été correctement sauvegardé dans le fichier %s. Default Partition: DefaultPartitionPage Menu field label Partition par défaut : Partitions DefaultPartitionPage Pop up menu title Partitions diff --git a/data/catalogs/apps/bsnow/fr.catkeys b/data/catalogs/apps/bsnow/fr.catkeys new file mode 100644 index 0000000000..65a106d764 --- /dev/null +++ b/data/catalogs/apps/bsnow/fr.catkeys @@ -0,0 +1,3 @@ +1 french x-vnd.mmu_man.BSnow 2460058908 +Drag me on your desktop… BSnow Déposez-moi sur le bureau… +Click me to remove BSnow… BSnow Cliquez ici pour retirer BSnow… diff --git a/data/catalogs/apps/codycam/fr.catkeys b/data/catalogs/apps/codycam/fr.catkeys index 287a32daab..d14a1c7801 100644 --- a/data/catalogs/apps/codycam/fr.catkeys +++ b/data/catalogs/apps/codycam/fr.catkeys @@ -11,7 +11,7 @@ Every 2 hours CodyCam Toutes les 2 heures Closing the window\n VideoConsumer.cpp Fermeture de la fenêtre\n login ID expected CodyCam identifiant attendu Rate: CodyCam Vitesse : -JPEG image CodyCam image JPEG +JPEG image CodyCam Image JPEG Capture Rate Menu CodyCam Menu de vitesse de capture File %s # unterminated quote at end of file\n SettingsHandler Fichier %s # guillemet non fermé à la fin du fichier\n Password: CodyCam Mot de passe : diff --git a/data/catalogs/apps/deskbar/zh-Hans.catkeys b/data/catalogs/apps/deskbar/zh-Hans.catkeys index d987c6e3ff..f4d38b278c 100644 --- a/data/catalogs/apps/deskbar/zh-Hans.catkeys +++ b/data/catalogs/apps/deskbar/zh-Hans.catkeys @@ -1,5 +1,6 @@ -1 english x-vnd.Be-TSKB 1133985623 +1 english x-vnd.Be-TSKB 3197510812 Power off DeskbarMenu 关闭电源 +Show day of week PreferencesWindow 显示星期 Edit menu… PreferencesWindow 编辑菜单 Suspend DeskbarMenu 挂起 Applications PreferencesWindow 应用程序 @@ -39,7 +40,9 @@ Preferences B_USER_DESKBAR_DIRECTORY/Preferences 系统设置 Recent folders DeskbarMenu 最近文件夹: About this system DeskbarMenu 关于本系统 Show calendar… TimeView 显示日历... +Deskbar preferences… DeskbarMenu 桌面栏首选项... Expand new applications PreferencesWindow 展开新程序 +Show replicants DeskbarMenu 显示 replicants Hide application names PreferencesWindow 隐藏应用名称 Clock PreferencesWindow 时钟 Demos B_USER_DESKBAR_DIRECTORY/Demos 演示程序 diff --git a/data/catalogs/apps/deskcalc/zh-Hans.catkeys b/data/catalogs/apps/deskcalc/zh-Hans.catkeys index f67102dc74..7759cf0168 100644 --- a/data/catalogs/apps/deskcalc/zh-Hans.catkeys +++ b/data/catalogs/apps/deskcalc/zh-Hans.catkeys @@ -1,7 +1,9 @@ -1 english x-vnd.Haiku-DeskCalc 1916192649 +1 english x-vnd.Haiku-DeskCalc 3276968552 Compact CalcView 精简模式 Scientific CalcView 科学计算 DeskCalc System name 计算器 Basic CalcView 基本模式 +Radians CalcView 弧度 Enable Num Lock on startup CalcView 启用数字键锁定 +Degrees CalcView 度 Audio Feedback CalcView 音频反馈 diff --git a/data/catalogs/apps/diskprobe/zh-Hans.catkeys b/data/catalogs/apps/diskprobe/zh-Hans.catkeys index 46de2efbc1..272787b37c 100644 --- a/data/catalogs/apps/diskprobe/zh-Hans.catkeys +++ b/data/catalogs/apps/diskprobe/zh-Hans.catkeys @@ -1,4 +1,4 @@ -1 english x-vnd.Haiku-DiskProbe 2706202187 +1 english x-vnd.Haiku-DiskProbe 2306672993 File offset: ProbeView 文件偏移量: %ld (native) ProbeView %ld(本地) 64 bit unsigned value: TypeEditors 64位无符号数: @@ -59,6 +59,7 @@ Boolean value: TypeEditors 布尔值: 8 bit palette TypeEditors 8位调色板 Fit ProbeView Size of fonts, fits to available room 适应 Probe device OpenWindow 查找硬件 + (native) ProbeView (本地) Unknown format TypeEditors 未知类型 Hexadecimal FindWindow A menu item, as short as possible, noun is recommended if it is shorter than adjective. 十六进制 MIME type: TypeEditors MIME 类型: diff --git a/data/catalogs/apps/drivesetup/fr.catkeys b/data/catalogs/apps/drivesetup/fr.catkeys index e7aabb7caa..6cb62990bf 100644 --- a/data/catalogs/apps/drivesetup/fr.catkeys +++ b/data/catalogs/apps/drivesetup/fr.catkeys @@ -1,4 +1,4 @@ -1 french x-vnd.Haiku-DriveSetup 2908539543 +1 french x-vnd.Haiku-DriveSetup 3496601396 DriveSetup System name Gestionnaire de disque Delete MainWindow Supprimer Are you sure you want to write the changes back to disk now?\n\nAll data on the selected partition will be irretrievably lost if you do so! MainWindow Êtes-vous sûr de vouloir écrire les changements sur le disque ?\n\nToutes les données de la partition sélectionnée seront effacées si vous le faites ! @@ -34,10 +34,11 @@ Offset: %ld MB Support Déplacement : %ld Mo Write changes MainWindow Enregistrer les modifications There was an error preparing the disk for modifications. MainWindow Une erreur est survenue pendant la préparation des modifications du disque. The partition %s is already mounted. MainWindow La partition %s est déjà montée. -Are you sure you want to write the changes back to disk now?\n\nAll data on the disk %s will be irretrievably lost if you do so! MainWindow Êtes-vous sûr de vouloir enregistrer les modifications au disque maintenant ?\n\nToutes les données sur le disque seront irrémédiablement perdues si vous le faites ! +Are you sure you want to write the changes back to disk now?\n\nAll data on the disk %s will be irretrievably lost if you do so! MainWindow Êtes-vous sûr de vouloir écrire les modifications sur disque maintenant ?\n\nToutes les données du disque %s seront irrémédiablement perdues si vous le faites ! Are you sure you want to delete the selected partition?\n\nAll data on the partition will be irretrievably lost if you do so! MainWindow Êtes-vous sûr de vouloir supprimer la partition sélectionnée ?\n\nToutes les données sur la partition seront définitivement perdues si vous le faites ! Create… MainWindow Créer… Disk system \"%s\"\" not found! MainWindow Le disque système « %s » est introuvable ! +The disk has been successfully initialized.\n MainWindow Le disque a été correctement initialisée.\n Could not unmount partition %s. MainWindow Impossible de démonter la partition %s. Mount MainWindow Monter Create CreateParamsPanel Créer diff --git a/data/catalogs/apps/drivesetup/sk.catkeys b/data/catalogs/apps/drivesetup/sk.catkeys index 356b75b18f..e3500c672e 100644 --- a/data/catalogs/apps/drivesetup/sk.catkeys +++ b/data/catalogs/apps/drivesetup/sk.catkeys @@ -1,7 +1,7 @@ 1 slovak x-vnd.Haiku-DriveSetup 1372142450 DriveSetup System name Nastavenie diskových oblastí Delete MainWindow Zmazať -Are you sure you want to write the changes back to disk now?\n\nAll data on the selected partition will be irretrievably lost if you do so! MainWindow Ste si istý, že chcete tieto zmeny teraz zapísať na disk?\n\nAk tak urobíte, všetky údaje na vybranej diskovej oblasti budú nenávratne stratené! +Are you sure you want to write the changes back to disk now?\n\nAll data on the selected partition will be irretrievably lost if you do so! MainWindow Ste si istí, že chcete tieto zmeny teraz zapísať na disk?\n\nAk tak urobíte, všetky údaje na vybranej diskovej oblasti budú nenávratne stratené! Rescan MainWindow Znovu preskúmať OK MainWindow OK Could not aquire partitioning information. MainWindow Nepodarilo sa získať informácie o diskových oblastiach. @@ -32,14 +32,14 @@ Mounted at PartitionList Pripojené na There was an error acquiring the partition row. MainWindow Vyskytla sa chyba pri získavaní radu oblasti. You need to select a partition entry from the list. MainWindow Musíte vybrať záznam oblasti zo zoznamu. The currently selected partition does not have a parent partition. MainWindow Momentálne vybraná oblasť nemá nadradenú oblasť. -Are you sure you want to write the changes back to disk now?\n\nAll data on the selected disk will be irretrievably lost if you do so! MainWindow Ste si istý, že chcete tieto zmeny teraz zapísať na disk?\n\nAk tak urobíte, všetky údaje na vybranom disku budú nenávratne stratené! +Are you sure you want to write the changes back to disk now?\n\nAll data on the selected disk will be irretrievably lost if you do so! MainWindow Ste si istí, že chcete tieto zmeny teraz zapísať na disk?\n\nAk tak urobíte, všetky údaje na vybranom disku budú nenávratne stratené! Offset: %ld MB Support Ofset: %ld MB Write changes MainWindow Zapísať zmeny There was an error preparing the disk for modifications. MainWindow Vyskytla sa chyba pri pripravovaní disku na zmeny. The partition %s is already mounted. MainWindow Oblasť %s je už pripojená. Are you sure you want to format the partition? You will be asked again before changes are written to the disk. MainWindow Ste si istí, že chcete naformátovať oblasť? Pred zapísaním zmien na disk sa vás program znova spýta. Are you sure you want to write the changes back to disk now?\n\nAll data on the disk %s will be irretrievably lost if you do so! MainWindow Ste si istý, že chcete tieto zmeny teraz zapísať na disk?\n\nAk tak urobíte, všetky údaje na disku %s budú nenávratne stratené! -Are you sure you want to delete the selected partition?\n\nAll data on the partition will be irretrievably lost if you do so! MainWindow Ste si istý, že chcete zmazať vybranú diskovú oblasť?\n\nAk tak urobíte, všetky údaje na vybranej diskovej oblasti budú nenávratne stratené! +Are you sure you want to delete the selected partition?\n\nAll data on the partition will be irretrievably lost if you do so! MainWindow Ste si istí, že chcete zmazať vybranú diskovú oblasť?\n\nAk tak urobíte, všetky údaje na vybranej diskovej oblasti budú nenávratne stratené! Create… MainWindow Vytvoriť… Disk system \"%s\"\" not found! MainWindow Diskový systém „%s“ nenájdený! The disk has been successfully initialized.\n MainWindow Disk bol úspešne inicializovaný.\n @@ -68,7 +68,7 @@ Size PartitionList Veľkosť Wipe (not implemented) MainWindow Bezpečne vymazať (neimplementované) Validation of the given initialization parameters failed. MainWindow Overenie zadaných parametrov inicializácie zlyhalo. The selected partition does not contain a partitioning system. MainWindow Zdá sa, že vybraná disková oblasť neobsahuje systém oblastí. -Are you sure you want to write the changes back to disk now?\n\nAll data on the partition %s will be irretrievably lost if you do so! MainWindow Ste si istý, že chcete tieto zmeny teraz zapísať na disk?\n\nAk tak urobíte, všetky údaje na diskovej oblasti %s budú nenávratne stratené! +Are you sure you want to write the changes back to disk now?\n\nAll data on the partition %s will be irretrievably lost if you do so! MainWindow Ste si istí, že chcete tieto zmeny teraz zapísať na disk?\n\nAk tak urobíte, všetky údaje na diskovej oblasti %s budú nenávratne stratené! The partition %s is currently mounted. MainWindow Oblasť %s je momentálne pripojená. Partition size CreateParamsPanel Veľkosť oblasti Surface test (not implemented) MainWindow Test povrchu disku (neimplementované) diff --git a/data/catalogs/apps/drivesetup/zh-Hans.catkeys b/data/catalogs/apps/drivesetup/zh-Hans.catkeys index 6ba5ebc90c..b923c2984d 100644 --- a/data/catalogs/apps/drivesetup/zh-Hans.catkeys +++ b/data/catalogs/apps/drivesetup/zh-Hans.catkeys @@ -1,4 +1,4 @@ -1 english x-vnd.Haiku-DriveSetup 2908539543 +1 english x-vnd.Haiku-DriveSetup 1372142450 DriveSetup System name 磁盘管理器 Delete MainWindow 删除 Are you sure you want to write the changes back to disk now?\n\nAll data on the selected partition will be irretrievably lost if you do so! MainWindow 您确定将所做修改写入磁盘吗?\n\n如果执行此操作,选中分区上的所有数据将丢失,无法恢复! @@ -11,10 +11,13 @@ There's no space on the partition where a child partition could be created. Main Unable to find the selected partition by ID. MainWindow 无法通过ID找到所选分区。 Select a partition from the list below. DiskView 请从以下列表选择一个分区。 No disk devices have been recognized. DiskView 无可识别的磁盘。 +Failed to initialize the disk %s!\n MainWindow 初始化磁盘 %s 失败!\n The selected disk is read-only. MainWindow 所选磁盘是只读的。 Partition name: CreateParamsPanel 分区名称: Initialize InitParamsPanel 初始化 +Are you sure you want to format the partition \"%s\"? You will be asked again before changes are written to the disk. MainWindow 您是否确定格式化分区 \"%s\" ?在磁盘写入修改前,您将需要再次确认。 Could not mount partition %s. MainWindow 无法挂载分区 %s。 +The partition %s has been successfully formatted.\n MainWindow 分区 %s 已完成初始化。\n The partition %s is already unmounted. MainWindow 分区 %s 已经卸载。 Failed to delete the partition. No changes have been written to disk. MainWindow 删除分区失败。所作修改未写入磁盘。 Partition type: CreateParamsPanel 分区类型: @@ -34,15 +37,20 @@ Offset: %ld MB Support 偏移量:%ld MB Write changes MainWindow 写入修改 There was an error preparing the disk for modifications. MainWindow 准备对磁盘写入修改时出现错误。 The partition %s is already mounted. MainWindow 分区 %s 已经挂载。 +Are you sure you want to format the partition? You will be asked again before changes are written to the disk. MainWindow 您是否确定格式化该分区?在磁盘写入修改前,您将需要再次确认。 Are you sure you want to write the changes back to disk now?\n\nAll data on the disk %s will be irretrievably lost if you do so! MainWindow 您确定将所做修改写入磁盘吗?\n\n如果执行该操作,磁盘 %s 中的所有数据将丢失,无法恢复! Are you sure you want to delete the selected partition?\n\nAll data on the partition will be irretrievably lost if you do so! MainWindow 您确定删除所选分区吗?\n\n如果执行该操作,分区中的所有数据将丢失,无法恢复! Create… MainWindow 创建… Disk system \"%s\"\" not found! MainWindow 磁盘系统 \"%s\"\"不存在! +The disk has been successfully initialized.\n MainWindow 磁盘 %s 已完成初始化。\n Could not unmount partition %s. MainWindow 无法卸载分区 %s。 +Failed to format the partition %s!\n MainWindow 分区 %s 格式化失败!\n Mount MainWindow 挂载 Create CreateParamsPanel 创建 +Are you sure you want to format a raw disk? (most people initialize the disk with a partitioning system first) You will be asked again before changes are written to the disk. MainWindow 您是否确定格式化原始磁盘?(首先需要将磁盘进行初始化分区)在磁盘写入修改前,您将需要再次确认。 Device PartitionList 设备 Disk MainWindow 磁盘 +Are you sure you want to initialize the selected disk? All data will be lost. You will be asked again before changes are written to the disk.\n MainWindow 您是否确定初始化选中磁盘?所有数据将会丢失。在磁盘写入修改之前,您将需要再次确认。 Device DiskView 设备 Active PartitionList 活动 Volume name PartitionList 卷标 @@ -57,6 +65,7 @@ Partition MainWindow 分区 File system PartitionList 文件系统 Validation of the given creation parameters failed. MainWindow 给定创建参数验证失败。 Size PartitionList 大小 +Wipe (not implemented) MainWindow 擦除数据(未实现) Validation of the given initialization parameters failed. MainWindow 给定初始化参数验证失败。 The selected partition does not contain a partitioning system. MainWindow 选中分区不包含分区系统。 Are you sure you want to write the changes back to disk now?\n\nAll data on the partition %s will be irretrievably lost if you do so! MainWindow 您确定将所做修改写入磁盘吗?\n\n执行此操作之后,分区 %s 中的所有数据将丢失,无法恢复! @@ -65,7 +74,9 @@ Partition size CreateParamsPanel 分区大小 Surface test (not implemented) MainWindow 表面测试(未执行) Cancel InitParamsPanel 取消 Cancel CreateParamsPanel 取消 +Format MainWindow 格式化 Parameters PartitionList 参数 Creation of the partition has failed. MainWindow 分区创建失败。 The currently selected partition is not empty. MainWindow 当前选中分区不为空。 +Failed to format the partition. No changes have been written to disk. MainWindow 分区格式化失败。所有修改未写入磁盘。 Unmount MainWindow 卸载 diff --git a/data/catalogs/apps/expander/sk.catkeys b/data/catalogs/apps/expander/sk.catkeys index 9ed0a18393..8c8e2ca517 100644 --- a/data/catalogs/apps/expander/sk.catkeys +++ b/data/catalogs/apps/expander/sk.catkeys @@ -21,7 +21,7 @@ The destination folder does not exist. ExpanderWindow Cieľový priečinok neex Other ExpanderPreferences Ďalšie Cancel ExpanderPreferences Zrušiť Expansion ExpanderPreferences Rozpínanie -Are you sure you want to stop expanding this\narchive? The expanded items may not be complete. ExpanderWindow Ste si istý, že chcete zastaviť rozbaľovanie tohto archívu?\nRozbalené položky nemusia byť úplné. +Are you sure you want to stop expanding this\narchive? The expanded items may not be complete. ExpanderWindow Ste si istí, že chcete zastaviť rozbaľovanie tohto archívu?\nRozbalené položky nemusia byť úplné. Select DirectoryFilePanel Vybrať Same directory as source (archive) file ExpanderPreferences Rovnaký ako zdrojový (archívny) súbor Expanding '%s' ExpanderWindow Rozbaľuje sa „%s“ diff --git a/data/catalogs/apps/installer/sk.catkeys b/data/catalogs/apps/installer/sk.catkeys index 1183aca53d..2fc15eba23 100644 --- a/data/catalogs/apps/installer/sk.catkeys +++ b/data/catalogs/apps/installer/sk.catkeys @@ -1,6 +1,6 @@ -1 slovak x-vnd.Haiku-Installer 2099988747 +1 slovak x-vnd.Haiku-Installer 3488795908 So behind the other menu entries towards the bottom of the file, add something similar to these lines:\n\n InstallerApp Za ďalšie položky menu blízko konca súboru pridajte niečo podobné týmto riadkom:\n\n -Are you sure you want to abort the installation and restart the system? InstallerWindow Ste si istý, že chcete zrušiť inštaláciu a reštartovať systém? +Are you sure you want to abort the installation and restart the system? InstallerWindow Ste si istí, že chcete zrušiť inštaláciu a reštartovať systém? \t}\n\n InstallerApp \t}\n\n Installer\n\twritten by Jérôme Duval and Stephan Aßmus\n\tCopyright 2005-2010, Haiku.\n\n InstallerApp Inštalátor\n\tnapísal Jérôme Duval a Stephan Aßmus\n\tCopyright 2005-2010, Haiku.\n\n Newer versions of GRUB use an extra configuration file to add custom entries to the boot menu. To add them to the top, you have to create/edit a file by launching your favorite editor from a Terminal like this:\n\n InstallerApp Novšie verzie GRUB používajú ďalší konfiguračný súbor na pridanie ďalších položiek do menu zavádzača. Ak ich chcete pridať na vrch, musíte vytvoriť alebo upraviť súbor spustením vášho obľúbeného textového editora z Terminálu takto:\n\n @@ -12,10 +12,11 @@ With GRUB it's: (hdN,n)\n\n InstallerApp Pre GRUB je to: (hdN,n)\n\n \tsudo update-grub\n\n\n InstallerApp \tsudo update-grub\n\n\n Stop InstallerWindow In alert after pressing Stop Zastaviť Install progress: InstallerWindow Priebeh inštalácie: +2.2) GRUB 1\n InstallerApp 2.2) GRUB 1\n Starting Installation. InstallProgress Začína inštalácia. This is alpha-quality software! It means there is a high risk of losing important data. Make frequent backups! You have been warned.\n\n\n InstallerApp Toto je softvér v alfa kvalite! Znamená to, že existuje riziko straty dôležitých dát. Robte časté zálohy! Boli ste upozornený.\n\n\n -Are you sure you want to abort the installation? InstallerWindow Ste si istý, že chcete prerušiť inštaláciu? -Are you sure you want to install onto the current boot disk? The Installer will have to reboot your machine if you proceed. InstallProgress Ste si istý, že chcete vykonať inštaláciu na disk, z ktorého sa v súčasnosti zavádza systém? Ak budete pokračovať Inštalátor bude musieť reštartovať počítač. +Are you sure you want to abort the installation? InstallerWindow Ste si istí, že chcete prerušiť inštaláciu? +Are you sure you want to install onto the current boot disk? The Installer will have to reboot your machine if you proceed. InstallProgress Ste si istí, že chcete vykonať inštaláciu na disk, z ktorého sa v súčasnosti zavádza systém? Ak budete pokračovať Inštalátor bude musieť reštartovať počítač. Quit Boot Manager InstallerWindow Ukončiť Správcu zavádzania Stop InstallerWindow Zastaviť \t\tchainloader +1\n InstallerApp \t\tchainloader +1\n @@ -37,6 +38,7 @@ Boot sector successfully written. InstallProgress Zavádzací sektor úspešne Performing installation. InstallProgress Prebieha inštalácia. scanning… InstallerWindow zisťuje sa… Set up boot menu InstallerWindow Nastaviť zavádzacie menu +2.1) GRUB (since os-prober v1.44)\n InstallerApp 2.1) GRUB (od os-prober v1.44)\n The first logical partition always has the number \"4\", regardless of the number of primary partitions.\n\n InstallerApp Prvá logická oblasť má vždy číslo „4“ bez ohľadu na počet primárnych oblastí.\n\n GRUB's naming scheme is still: (hdN,n)\n\n InstallerApp Schéma názvov pre GRUB je stále: (hdN,n)\n\n \tsudo /boot/grub/menu.lst\n\n InstallerApp \tsudo /boot/grub/menu.lst\n\n @@ -48,6 +50,7 @@ README InstallerApp README The destination disk may not have enough space. Try choosing a different disk or choose to not install optional items. InstallProgress Cieľový disk nemusí mať dostatok miesta. Skúste zvoliť iný disk alebo zvoľte neinštalovať voliteľné položky. Please close the Boot Manager and DriveSetup windows before closing the Installer window. InstallerWindow Prosím, zatvorte okná Správcu zavádzania a Nastavenie diskových oblastí predtým, než zatvoríte okno Inštalátora. Scanning for disks… InstallerWindow Zisťujú sa disky… +2.3) GRUB 2\n InstallerApp 2.3) GRUB 2\n The disk can't be mounted. Please choose a different disk. InstallProgress Disk nie je možné pripojiť. Prosím, zvoľte iný disk. ?? of ?? InstallerWindow Unknown progress ?? z ?? \tmenuentry \"Haiku Alpha\" {\n InstallerApp \tmenuentry \"Haiku Alpha\" {\n @@ -67,6 +70,7 @@ Installer System name Inštalátor You can't install the contents of a disk onto itself. Please choose a different disk. InstallProgress Nemôžete inštalovať obsah disku na rovnaký disk. Prosím, zvoľte iný disk. ??? InstallerWindow Unknown currently copied item ??? \"n\" is the partition number, which for GRUB 2 starts with \"1\"\n InstallerApp „n“ je číslo oblasti, ktoré pre GRUB 2 začína „1“.\n +Starting with os-prober v1.44 (e.g. in Ubuntu 11.04 or later), Haiku should be recognized out of the box. To add Haiku to the GRUB menu, open a Terminal and enter:\n\n InstallerApp Počínajúc os-prober v1.44 (napr. v Ubuntu 11.04 alebo novšom), Haiku by malo byť rozpoznané bez nutnosti akejkoľvek konfigurácie. Ak chcete pridať Haiku do menu GRUB, otvorte Terminál a zadajte:\n\n Quit DriveSetup InstallerWindow Ukončiť Nastavenie diskových oblastí \"N\" is the hard disk number, starting with \"0\".\n InstallerApp „N“ je číslo pevného disku, začína „0“.\n Hide optional packages InstallerWindow Skryť voliteľné balíky @@ -106,12 +110,13 @@ Cancel InstallProgress Zrušiť Running Boot Manager and DriveSetup…\n\nClose both applications to continue with the installation. InstallerWindow Spúšťa sa Správca zavádzania a Nastavenie diskových oblastí…\n\nInštalácia bude pokračovať, keď zatvoríte obe aplikácie. Try installing anyway InstallProgress Skúsiť inštalovať napriek tomu So below the heading that must not be edited, add something similar to these lines:\n\n InstallerApp Takže pod nadpisom, ktorý nesmiete upravovať, pridajte niečo podobné týmto riadkom:\n\n -Are you sure you want to to stop the installation? InstallerWindow Ste si istý, že chcete zastaviť inštaláciu? +Are you sure you want to to stop the installation? InstallerWindow Ste si istí, že chcete zastaviť inštaláciu? Onto: InstallerWindow Na: Please close the Boot Manager window before closing the Installer window. InstallerWindow Prosím, zatvorte okno Správcu zavádzania predtým, než zatvoríte okno Inštalátora. +3) When you successfully boot into Haiku for the first time, make sure to read our \"Welcome\" and \"Userguide\" documentation. There are links on the Desktop and in WebPositive's bookmarks.\n\n InstallerApp 3) Keď prvýkrát úspešne naštartujete Haiku, uistite sa, že si prečítate našu dokumentáciu „Vitajte“ a „Používateľská príručka“. Nájdete ich v záložkách na Ploche a vo WebPositive.\n\n Tools InstallerWindow Nástroje The mount point could not be retrieved. InstallProgress Nie je možné ziskať prípojný bod. -The target volume is not empty. Are you sure you want to install anyway?\n\nNote: The 'system' folder will be a clean copy from the source volume, all other folders will be merged, whereas files and links that exist on both the source and target volume will be overwritten with the source volume version. InstallProgress Cieľový zväzok nie je prázdny. Ste si istý, že chcete inštalovať napriek tomu?\n\nPozn.: Priečinok „system“ bude čistou kópiou zo zdrojového zväzku, všetky ďalšie priečinky budú zlúčené, pričom súbory a odkazy, ktoré existujú zároveň na zdrojovom aj cieľovom zväzku budú prepísané verziou zo zdrojového zväzku. +The target volume is not empty. Are you sure you want to install anyway?\n\nNote: The 'system' folder will be a clean copy from the source volume, all other folders will be merged, whereas files and links that exist on both the source and target volume will be overwritten with the source volume version. InstallProgress Cieľový zväzok nie je prázdny. Ste si istí, že chcete inštalovať napriek tomu?\n\nPozn.: Priečinok „system“ bude čistou kópiou zo zdrojového zväzku, všetky ďalšie priečinky budú zlúčené, pričom súbory a odkazy, ktoré existujú zároveň na zdrojovom aj cieľovom zväzku budú prepísané verziou zo zdrojového zväzku. You can see the correct partition in GParted for example.\n\n\n InstallerApp Správnu oblasť si môžete pozrieť napr. v GParted.\n\n\n \ttitle\t\t\t\tHaiku\n InstallerApp \ttitle\t\t\t\tHaiku\n \tsudo /etc/grub.d/40_custom\n\n InstallerApp \t sudo /etc/grub.d/40_custom\n\n diff --git a/data/catalogs/apps/installer/zh-Hans.catkeys b/data/catalogs/apps/installer/zh-Hans.catkeys index 60f12b6f18..80770c125e 100644 --- a/data/catalogs/apps/installer/zh-Hans.catkeys +++ b/data/catalogs/apps/installer/zh-Hans.catkeys @@ -1,4 +1,4 @@ -1 english x-vnd.Haiku-Installer 2066726304 +1 english x-vnd.Haiku-Installer 3488795908 So behind the other menu entries towards the bottom of the file, add something similar to these lines:\n\n InstallerApp 在接近文件末尾,其他菜单条目之后,添加类似于下面的内容:\n\n Are you sure you want to abort the installation and restart the system? InstallerWindow 您是否确定终止安装,重新启动系统? \t}\n\n InstallerApp \t}\n\n @@ -70,6 +70,7 @@ Installer System name 系统安装器 You can't install the contents of a disk onto itself. Please choose a different disk. InstallProgress 您无法将磁盘内容进行自我安装。请选择其他磁盘。 ??? InstallerWindow Unknown currently copied item ??? \"n\" is the partition number, which for GRUB 2 starts with \"1\"\n InstallerApp \"n\" 是分区编号,对于 GRUB 2 ,则以 \"1\" 开始。\n +Starting with os-prober v1.44 (e.g. in Ubuntu 11.04 or later), Haiku should be recognized out of the box. To add Haiku to the GRUB menu, open a Terminal and enter:\n\n InstallerApp 如果使用 os-prober v1.44(如,Ubuntu 11.04 及其更高版本),Haiku 能够被自动识别。如果希望将 Haiku 加入 GRUB 菜单,打开终端,然后输入:\n\n Quit DriveSetup InstallerWindow 退出磁盘管理器 \"N\" is the hard disk number, starting with \"0\".\n InstallerApp \"N\" 是硬盘编号,以 \"0\" 开始。\n Hide optional packages InstallerWindow 隐藏附加软件包 @@ -112,6 +113,7 @@ So below the heading that must not be edited, add something similar to these lin Are you sure you want to to stop the installation? InstallerWindow 您是否确定终止安装过程? Onto: InstallerWindow 安装到: Please close the Boot Manager window before closing the Installer window. InstallerWindow 在关闭系统安装器之前请关闭引导管理器。 +3) When you successfully boot into Haiku for the first time, make sure to read our \"Welcome\" and \"Userguide\" documentation. There are links on the Desktop and in WebPositive's bookmarks.\n\n InstallerApp 3) 在首次成功启动 Haiku 之后,您需要阅读 \"欢迎使用\" 和 \"用户指南\" 等文档。在桌面和 WebPositive 的书签栏内都有它们的链接。\n\n Tools InstallerWindow 工具 The mount point could not be retrieved. InstallProgress 挂载点无法恢复。 The target volume is not empty. Are you sure you want to install anyway?\n\nNote: The 'system' folder will be a clean copy from the source volume, all other folders will be merged, whereas files and links that exist on both the source and target volume will be overwritten with the source volume version. InstallProgress 目标卷不为空。您确定必须进行安装吗?\n\n注意:从源卷拷贝的 'system' 文件夹为空,所有其他的文件夹将被合并,反之,源卷和目标卷中的所有文件和链接将会被源卷版本所覆盖。 diff --git a/data/catalogs/apps/launchbox/fr.catkeys b/data/catalogs/apps/launchbox/fr.catkeys index 231f6ae23b..41d45a0fa5 100644 --- a/data/catalogs/apps/launchbox/fr.catkeys +++ b/data/catalogs/apps/launchbox/fr.catkeys @@ -18,13 +18,13 @@ Bummer LaunchBox Zut Cancel LaunchBox Annuler Remove button LaunchBox Ôter le boutton Horizontal layout LaunchBox Disposition horizontale -\n\nFailed to launch application with signature '%2'.\n\nError: LaunchBox \n\nÉchec au lancement de l'application à la signature '%2'.\n\nErreur : +\n\nFailed to launch application with signature '%2'.\n\nError: LaunchBox \n\nÉchec au lancement de l'application à la signature « %2 ».\n\nErreur : Failed to launch '%1'.\n\nError: LaunchBox Impossible de lancer « %1 ».\n\nErreur : Name Panel LaunchBox Nom du panneau Add button here LaunchBox Ajouter un bouton ici Description for '%3' LaunchBox Description for « %3 » Settings LaunchBox Réglages -Failed to launch 'something', error in Pad data. LaunchBox Impossible de lancer «quelque chose» : erreur dans les données du Pad. +Failed to launch 'something', error in Pad data. LaunchBox Impossible de lancer « quelque chose » : erreur dans les données du Pad. Pad %1 LaunchBox Pavé %1 Close LaunchBox Fermer Failed to send 'open folder' command to Tracker.\n\nError: LaunchBox Impossible d'envoyer « ouvrir le dossier » au Tracker.\n\nErreur : diff --git a/data/catalogs/apps/launchbox/zh-Hans.catkeys b/data/catalogs/apps/launchbox/zh-Hans.catkeys index 8a8d7a59ef..6a9aa659d5 100644 --- a/data/catalogs/apps/launchbox/zh-Hans.catkeys +++ b/data/catalogs/apps/launchbox/zh-Hans.catkeys @@ -1,4 +1,4 @@ -1 english x-vnd.Haiku-LaunchBox 4192523522 +1 english x-vnd.Haiku-LaunchBox 3016105370 New LaunchBox 新建 Set description… LaunchBox 设置描述... Vertical layout LaunchBox 竖直层 @@ -24,6 +24,7 @@ Name Panel LaunchBox 命名面板 Add button here LaunchBox 在此处添加按钮 Description for '%3' LaunchBox 描述 '%3' Settings LaunchBox 设置 +Failed to launch 'something', error in Pad data. LaunchBox 启动“某个应用”失败,Pad 数据出错。 Pad %1 LaunchBox 面板 %1 Close LaunchBox 关闭 Failed to send 'open folder' command to Tracker.\n\nError: LaunchBox 发送 'open folder' 命令到 Tracker 失败。\n\n错误: diff --git a/data/catalogs/apps/mail/fr.catkeys b/data/catalogs/apps/mail/fr.catkeys index 9cb2e58e48..e76e7a52dd 100644 --- a/data/catalogs/apps/mail/fr.catkeys +++ b/data/catalogs/apps/mail/fr.catkeys @@ -1,4 +1,4 @@ -1 french x-vnd.Be-MAIL 1896251069 +1 french x-vnd.Be-MAIL 1925197549 View Mail Vue %d - Date Mail %d - Date Attach attributes: Mail Attributs du fichier joint : @@ -15,14 +15,15 @@ helpful message Mail message utile Colored quotes: Mail Citations en couleurs : Subject: Mail Objet : Reply to all Mail Répondre à tous -Show icons & labels Mail Montrer les icônes et les textes -Remove attachment Mail Retirer le fichier joint +Enclosure: %name% (Type: %type%) Mail Don't translate the variables %name% and %type%. Pièce jointe : %name% (Type : %type%) +Show icons & labels Mail Afficher les icônes et les étiquettes +Remove attachment Mail Retirer la pièce jointe Button bar: Mail Barre d'icônes : spam B_USER_DIRECTORY/mail/spam spam Beginner Mail Débutant Don't save Mail Ne pas enregistrer Expert Mail Expert -Reply account: Mail Compte pour la réponse : +Reply account: Mail Compte de réponse : Discard Mail Ignorer Message Mail Message Reply to sender Mail Répondre à l'expéditeur @@ -40,7 +41,7 @@ Preferences… Mail Préférences… Undo Mail Annuler Date: Mail Date : An error occurred trying to open this signature. Mail Une erreur est survenue en essayant d'ouvrir la signature. -No file attributes, just plain data Mail Pas d'attributs, seulement des donnés +No file attributes, just plain data Mail Pas d'attributs, seulement des donnés brutes Edit queries… Mail Modifier les requêtes… queries B_USER_DIRECTORY/mail/queries requêtes Paste Mail Coller @@ -86,7 +87,7 @@ Page setup… Mail Mise en page… Text wrapping: Mail Renvoi à la ligne : Revert Mail Défaire File Mail Fichier -mail B_USER_DIRECTORY/mail mail +mail B_USER_DIRECTORY/mail courrier None Mail Aucun (Name unavailable) Mail (Nom non disponible) Copy link location Mail Copier l'adresse du lien diff --git a/data/catalogs/apps/mail/zh-Hans.catkeys b/data/catalogs/apps/mail/zh-Hans.catkeys index b5a4f5f1bb..37f59abeed 100644 --- a/data/catalogs/apps/mail/zh-Hans.catkeys +++ b/data/catalogs/apps/mail/zh-Hans.catkeys @@ -1,10 +1,11 @@ -1 english x-vnd.Be-MAIL 1495323310 +1 english x-vnd.Be-MAIL 2834665561 View Mail 查看 %d - Date Mail %d - 日期 Attach attributes: Mail 附加属性: Inconsistency occurred in the undo/redo buffer. Mail 缓冲区发生错误,撤销/重复操作无法执行。 An error occurred trying to save the attachment. Mail 出现错误,保存为副件。 Copy to new Mail 转发 +Leave as 'New' Mail Do not translate New - this is non-localizable e-mail status 标记为 'New' Edit Mail 编辑 Print Mail 打印 Mail <无> @@ -70,6 +71,7 @@ Size: Mail 大小: Account from mail Mail 邮件账户 Edit signatures… Mail 编辑署名… New Mail 新建 +Attachments: Mail 附件: On Mail 开启 Set to %s Mail 设置为 %s Forward Mail 下一封 diff --git a/data/catalogs/apps/mediaplayer/ja.catkeys b/data/catalogs/apps/mediaplayer/ja.catkeys index 8efa5a0d22..4253509586 100644 --- a/data/catalogs/apps/mediaplayer/ja.catkeys +++ b/data/catalogs/apps/mediaplayer/ja.catkeys @@ -1,4 +1,4 @@ -1 japanese x-vnd.Haiku-MediaPlayer 496107874 +1 japanese x-vnd.Haiku-MediaPlayer 3632366072 Location MediaPlayer-InfoWin 場所 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1 (American) %d kHz MediaPlayer-InfoWin %d kHz @@ -71,6 +71,7 @@ Stop playing. MediaPlayer-Main 再生を停止 The file '%filename' could not be opened.\n\n MediaPlayer-Main ファイル'%filename'を開けませんでした。\n\n Error: MediaPlayer-RemovePLItemsCmd エラー: Audio MediaPlayer-InfoWin オーディオ +Move into trash error MediaPlayer-RemovePLItemsCmd ごみ箱への移動エラー Internal error (malformed message). Saving the playlist failed. MediaPlayer-PlaylistWindow 内部エラー (不正なメッセージ)。プレイリストの保存に失敗しました。 Skip to the previous track. MediaPlayer-Main 前のトラックに飛ぶ %app% encountered an internal error. The file could not be opened. MediaPlayer-Main %app% の内部エラーです。ファイルは開けませんでした。 diff --git a/data/catalogs/apps/mediaplayer/sk.catkeys b/data/catalogs/apps/mediaplayer/sk.catkeys index 902cb1ff0e..2bd3d9bdb7 100644 --- a/data/catalogs/apps/mediaplayer/sk.catkeys +++ b/data/catalogs/apps/mediaplayer/sk.catkeys @@ -1,4 +1,4 @@ -1 slovak x-vnd.Haiku-MediaPlayer 2346289802 +1 slovak x-vnd.Haiku-MediaPlayer 2969013755 raw audio MediaPlayer-InfoWin nespracovaný zvuk Location MediaPlayer-InfoWin Umiestnenie 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1 (americký) @@ -69,8 +69,10 @@ Select all MediaPlayer-PlaylistWindow Vybrať všetky Move Entry MediaPlayer-MovePLItemsCmd Presunúť položku Open MediaPlayer-PlaylistWindow Otvoriť Stop playing. MediaPlayer-Main Zastaviť prehrávanie. +The file '%filename' could not be opened.\n\n MediaPlayer-Main Súbor „%filename“ nebolo možné otvoriť.\n\n Error: MediaPlayer-RemovePLItemsCmd Chyba: Audio MediaPlayer-InfoWin Zvuk +Move into trash error MediaPlayer-RemovePLItemsCmd Chyba pri presúvaní do Koša Internal error (malformed message). Saving the playlist failed. MediaPlayer-PlaylistWindow Vnútorná chyba (chybný tvar správy). Ukladanie zoznamu stôp zlyhalo. Skip to the previous track. MediaPlayer-Main Preskočiť na predošlú stopu. %app% encountered an internal error. The file could not be opened. MediaPlayer-Main V aplikácii %app% sa vyskytla vnútorná chyba. Súbor nebolo možné otvoriť. diff --git a/data/catalogs/apps/mediaplayer/zh-Hans.catkeys b/data/catalogs/apps/mediaplayer/zh-Hans.catkeys index 8476096916..7912b8de57 100644 --- a/data/catalogs/apps/mediaplayer/zh-Hans.catkeys +++ b/data/catalogs/apps/mediaplayer/zh-Hans.catkeys @@ -1,4 +1,4 @@ -1 english x-vnd.Haiku-MediaPlayer 2379545362 +1 english x-vnd.Haiku-MediaPlayer 3948226748 raw audio MediaPlayer-InfoWin 原生音频 1.85 : 1 (American) MediaPlayer-Main 1.85 : 1(美式) %d kHz MediaPlayer-InfoWin %d kHz @@ -23,6 +23,7 @@ Next MediaPlayer-Main 下一个 OK MediaPlayer-SettingsWindow 确定 Track %d MediaPlayer-Main 轨道 %d 2.35 : 1 (Cinemascope) MediaPlayer-Main 2.35 : 1(宽屏) +Display mode MediaPlayer-InfoWin 显示模式 Medium MediaPlayer-SettingsWindow 中等 Close MediaPlayer-PlaylistWindow 关闭 Stereo MediaPlayer-InfoWin 立体声 @@ -64,8 +65,10 @@ Select all MediaPlayer-PlaylistWindow 全选 Move Entry MediaPlayer-MovePLItemsCmd 移动条目 Open MediaPlayer-PlaylistWindow 打开 Stop playing. MediaPlayer-Main 停止播放。 +The file '%filename' could not be opened.\n\n MediaPlayer-Main 无法打开文件 '%filename' 。\n\n Error: MediaPlayer-RemovePLItemsCmd 错误: Audio MediaPlayer-InfoWin 音频 +Move into trash error MediaPlayer-RemovePLItemsCmd 移动到垃圾箱出错 Internal error (malformed message). Saving the playlist failed. MediaPlayer-PlaylistWindow 内部错误(格式错误消息)。保存播放列表失败。 Skip to the previous track. MediaPlayer-Main 跳到上一个轨道。 %app% encountered an internal error. The file could not be opened. MediaPlayer-Main %app% 出现内部错误。文件无法打开。 @@ -126,6 +129,7 @@ Revert MediaPlayer-SettingsWindow 恢复 Edit MediaPlayer-PlaylistWindow 编辑 Start media server MediaPlayer-Main 启动媒体服务器 Toggle fullscreen. MediaPlayer-Main 全平切换。 +ToggleFullscreen MediaPlayer-Main 全屏切换。 PlaylistItem-name <未命名> Open Clips MediaPlayer-Main 打开片段 OK MediaPlayer-PlaylistWindow 确定 diff --git a/data/catalogs/apps/screenshot/Screenshot/sk.catkeys b/data/catalogs/apps/screenshot/Screenshot/sk.catkeys index e98a80b22b..99245b399f 100644 --- a/data/catalogs/apps/screenshot/Screenshot/sk.catkeys +++ b/data/catalogs/apps/screenshot/Screenshot/sk.catkeys @@ -19,7 +19,7 @@ screenshot Screenshot Base filename of screenshot files snímka obrazovky New screenshot ScreenshotWindow Nová snímka obrazovky Artwork folder ScreenshotWindow Priečinok s výtvarnými dielami Home folder ScreenshotWindow Domovský priečinok -This file already exists.\n Are you sure would you like to overwrite it? ScreenshotWindow Tento súbor už existuje.\n Ste si istý, že ho chcete prepísať? +This file already exists.\n Are you sure would you like to overwrite it? ScreenshotWindow Tento súbor už existuje.\nSte si istí, že ho chcete prepísať? Settings… ScreenshotWindow Nastavenia… overwrite ScreenshotWindow prepísať Delay: ScreenshotWindow Oneskorenie: diff --git a/data/catalogs/apps/screenshot/Screenshot/zh-Hans.catkeys b/data/catalogs/apps/screenshot/Screenshot/zh-Hans.catkeys index 810eb83f1f..351defb3ee 100644 --- a/data/catalogs/apps/screenshot/Screenshot/zh-Hans.catkeys +++ b/data/catalogs/apps/screenshot/Screenshot/zh-Hans.catkeys @@ -1,4 +1,4 @@ -1 english x-vnd.haiku-screenshot 1697748405 +1 english x-vnd.haiku-screenshot 1721618877 seconds ScreenshotWindow 秒 Desktop ScreenshotWindow 桌面 Include window border ScreenshotWindow 包含窗体边框 @@ -9,6 +9,7 @@ Cancel ScreenshotWindow 取消 Name: ScreenshotWindow 名称: Choose folder ScreenshotWindow 选择文件夹 Save ScreenshotWindow 保存 +Overwrite ScreenshotWindow 覆盖 Choose folder... ScreenshotWindow 选择文件夹... Please select ScreenshotWindow 请选择 Save as: ScreenshotWindow 保存为: diff --git a/data/catalogs/apps/showimage/fr.catkeys b/data/catalogs/apps/showimage/fr.catkeys index 215dc70f2d..15f10a9c81 100644 --- a/data/catalogs/apps/showimage/fr.catkeys +++ b/data/catalogs/apps/showimage/fr.catkeys @@ -51,7 +51,7 @@ Slide show Menus Diaporama Fit image to page PrintOptionsWindow Adapter l'image à la page Flip top to bottom Menus Mirroir horizontal Select all Menus Selectionner tout -Zoom factor in %: PrintOptionsWindow Zoomer (en %) : +Zoom factor in %: PrintOptionsWindow Facteur de zoom en % : Width: PrintOptionsWindow Largeur : Image Menus Image OK Alerts OK diff --git a/data/catalogs/apps/soundrecorder/zh-Hans.catkeys b/data/catalogs/apps/soundrecorder/zh-Hans.catkeys index 6d2c363bae..1232156560 100644 --- a/data/catalogs/apps/soundrecorder/zh-Hans.catkeys +++ b/data/catalogs/apps/soundrecorder/zh-Hans.catkeys @@ -1,15 +1,20 @@ -1 english x-vnd.Haiku-SoundRecorder 4189888707 +1 english x-vnd.Haiku-SoundRecorder 1981644768 Loop RecorderWindow 循环 Cannot find default audio hardware RecorderWindow 未发现默认音频设备 Cannot find the temporary file created to hold the new recording RecorderWindow 未找到存储新记录的临时文件 +Sample size: RecorderWindow 示例大小: Nothing to play RecorderWindow 无播放文件 +Duration: RecorderWindow 录制时间: Some of the files don't appear to be audio files RecorderWindow 其中的一些文件不是音频文件 File info RecorderWindow 文件信息 Drop files here SoundListView 在这里放置文件 Input RecorderWindow 输入 Stop RecorderWindow 停止 +Format: RecorderWindow 格式: Sound List RecorderWindow 声音列表 +Compression: RecorderWindow 压缩: Rewind RecorderWindow 倒回 +Sample rate: RecorderWindow 采样频率: Invalid audio files RecorderWindow 无效音频文件 OK RecorderWindow 确定 Cannot open the temporary file created to hold the new recording RecorderWindow 无法打开用于存储新记录的临时文件 @@ -18,11 +23,14 @@ Input: RecorderWindow 输入: Forward RecorderWindow 向前 Play RecorderWindow 播放 SoundRecorder System name 录音器 +Channels: RecorderWindow 声道: + bits RecorderWindow 位 None RecorderWindow 无 Record RecorderWindow 录音 Sample size: RecorderWindow 大小示例: Cannot recognize this file as a media file RecorderWindow 无法识别该文件为音频文件 Format: RecorderWindow 格式: +File name: RecorderWindow 文件名: Cannot connect to the selected sound input RecorderWindow 无法连接到选中声音输入 Cannot get the file to play RecorderWindow 无法播放文件 Cannot record a sound that long RecorderWindow 无法进行长时间的记录 diff --git a/data/catalogs/apps/terminal/fr.catkeys b/data/catalogs/apps/terminal/fr.catkeys index a39cc74bdd..a7ed9fbb28 100644 --- a/data/catalogs/apps/terminal/fr.catkeys +++ b/data/catalogs/apps/terminal/fr.catkeys @@ -33,7 +33,7 @@ Selected text Terminal AppearancePrefView Texte sélectionné Find Terminal FindWindow Rechercher Appearance Terminal PrefWindow Apparence Tab title: Terminal AppearancePrefView Titre de l'onglet : -The pattern specifying the window titles. The following placeholders\ncan be used:\n Terminal AppearancePrefView Le modèle utilisé pour composer le titre des onglets\ncontenir les éléments suivants :\n +The pattern specifying the window titles. The following placeholders\ncan be used:\n Terminal AppearancePrefView Le modèle utilisé pour composer le titre des fenêtres peut\ncontenir les éléments suivants :\n Color schema: Terminal AppearancePrefView Profil de couleurs : OK Terminal SetTitleWindow OK Background Terminal AppearancePrefView Fond diff --git a/data/catalogs/apps/terminal/zh-Hans.catkeys b/data/catalogs/apps/terminal/zh-Hans.catkeys index c99731058c..1cebedbb1b 100644 --- a/data/catalogs/apps/terminal/zh-Hans.catkeys +++ b/data/catalogs/apps/terminal/zh-Hans.catkeys @@ -1,4 +1,4 @@ -1 english x-vnd.Haiku-Terminal 1054657081 +1 english x-vnd.Haiku-Terminal 1294209621 Not found. Terminal TermWindow 未找到。 Switch Terminals Terminal TermWindow 切换终端 Change directory Terminal TermView 更改目录 @@ -42,6 +42,7 @@ Green on Black Terminal colors schema 黑底绿字 The process \"%1\" is still running.\nIf you close the tab, the process will be killed. Terminal TermWindow \"%1\" 进程仍在运行。\n如果关闭该标签,该进程将被杀死。 Size: Terminal AppearancePrefView 大小: Cannot execute \"%command\":\n\t%error Terminal Shell 无法运行\"%command\":\n\t%错误 + -h, --help print this help\n -t, --title set window title\n -f, --fullscreen start fullscreen\n Terminal TermApp -h, --help 打印帮助内容\n-t, --title 设置窗口标题\n-f, --fullscreen 全屏启动\n Full screen Terminal TermWindow 全屏 Window title… Terminal TermWindow 窗口标题... Page setup… Terminal TermWindow 页面设置... diff --git a/data/catalogs/apps/webpositive/sk.catkeys b/data/catalogs/apps/webpositive/sk.catkeys index 9d9fc9bc7b..0cd7eb5665 100644 --- a/data/catalogs/apps/webpositive/sk.catkeys +++ b/data/catalogs/apps/webpositive/sk.catkeys @@ -1,4 +1,6 @@ -1 slovak x-vnd.Haiku-WebPositive 1271374360 +1 slovak x-vnd.Haiku-WebPositive 1513721873 +Show home button Settings Window Zobraziť tlačidlo Domov +Username: Authentication Panel Používateľské meno: Copy URL to clipboard Download Window Kopírovať URL do schránky Cancel Settings Window Zrušiť Close window WebPositive Window Zatvoriť okno @@ -8,6 +10,16 @@ The downloads folder could not be opened.\n\nError: %error Download Window Don't Open location WebPositive Window Otvoriť umiestnenie Clear history WebPositive Window Vyčistiť históriu WebPositive System name WebPositive +Yesterday WebPositive Window Včera +Default standard font size: Settings Window Predvolená veľkosť štandardného písma: +Start page: Settings Window Úvodná stránka: +History WebPositive Window História +Error opening downloads folder Download Window Chyba pri otváraní priečinka stiahnutých súborov +Paste WebPositive Window Vložiť +Settings Settings Window Nastavenie +%seconds seconds left Download Window Zostáva %seconds sekúnd +Confirmation WebPositive Window Potvrdenie +Window WebPositive Window Okno Decrease size WebPositive Window Zmenšiť veľkosť Serif font: Settings Window Pätkové písmo: Loading %url WebPositive Window Načítava sa %url @@ -17,6 +29,15 @@ Find next WebPositive Window Nájsť ďalší Download folder: Settings Window Priečinok stiahnutých súborov: Edit WebPositive Window Upraviť Over %hours hours left Download Window Zostáva viac ako %hours hodín +Cancel Authentication Panel Zrušiť +Match case WebPositive Window Rozlišovať veľkosť +Search page: Settings Window Vyhľadávacia stránka: +Zoom text only WebPositive Window Zväčšovať iba text +Default fixed font size: Settings Window Predvolená veľkosť neproporcionálneho písma: +Close tab WebPositive Window Zatvoriť kartu +Auto-hide mouse pointer Settings Window Automaticky skrývať kurzor myši +Over 1 hour left Download Window Zostáva viac ako 1 hodina +Quit WebPositive Window Ukončiť Full screen WebPositive Window Celoobrazovkový režim Open download error Download Window Chyba pri otváraní sťahovaného súboru Standard font: Settings Window Štandardné písmo: @@ -26,6 +47,15 @@ Open containing folder Download Window Otvoriť nadradený priečinok New window WebPositive Window Nové okno Open Download Window Otvoriť Reload WebPositive Window Znovu načítať +Downloads Download Window Sťahovania +Sans serif font: Settings Window Bezpätkové písmo: +Over %days days left Download Window Zostáva viac ako %days dní +Forward WebPositive Window Dopredu +of Download Window ...as in '12kB of 256kB' z +Revert Settings Window Vrátiť +Fixed font: Settings Window Neproporcionálne písmo: +Cut WebPositive Window Vystrihnúť +Bookmark this page WebPositive Window Uložiť stránku do záložiek There was an error trying to show the Bookmarks folder.\n\nError: %error WebPositive Window Don't translate variable %error Vyskytla sa chyba pri zobrazovaní priečinka Záložky.\n\nChyba: %error Open downloads folder Download Window Otvoriť priečinok stiahnutých súborov Number of days to keep links in History menu: Settings Window Koľko dní ponechať odkazy v menu História: @@ -35,6 +65,15 @@ Find: WebPositive Window Nájsť: Increase size WebPositive Window Zväčšiť veľkosť There was an error retrieving the bookmark folder.\n\nError: %error WebPositive Window Don't translate the variable %error Vyskytla sa chyba pri získavaní priečinka záložiek.\n\nChyba: %error Over 1 day left Download Window Zostáva viac ako 1 deň +Downloads WebPositive Window Sťahovania +Requesting %url WebPositive Window Prebieha požiadavka na %url +Apply Settings Window Použiť +Bookmark info WebPositive Window Info o záložke +Size: Font Selection view Veľkosť: +Show tabs if only one page is open Settings Window Zobrazovať karty, aj ak je otvorená iba jedna stránka +About WebPositive Window O aplikácii +Finish: Download Window Finishing time Koniec: +Fonts Settings Window Písma Close WebPositive Window Zatvoriť OK Download Window OK Page source error WebPositive Window Chyba zdrojového kódu stránky @@ -44,6 +83,15 @@ Cancel WebPositive Window Zrušiť Open all WebPositive Window Otvoriť všetko Clear URL Bar Vyčistiť Cut URL Bar Vystrihnúť +Clear WebPositive Window Vyčistiť +Remove Download Window Odstrániť +Find WebPositive Window Nájsť: +Find previous WebPositive Window Nájsť predchádzajúci +Settings WebPositive Window Nastavenia +Proxy server address: Settings Window Adresa proxy servera: +Proxy server port: Settings Window Port proxy servera: +Bookmarks WebPositive Window Záložky +%minutes minutes Download Window %minutes minút Paste URL Bar Vložiť /s) Download Window ...as in 'per second' /s) Hide password text Authentication Panel Skryť text hesla @@ -53,6 +101,15 @@ Open start page Settings Window Otvoriť úvodnú stránku Continue downloads WebPositive Pokračovať v sťahovaní Cancel Download Window Zrušiť Open search page Settings Window Otvoriť vyhľadávaciu stránku +Password: Authentication Panel Heslo: +Back WebPositive Window Späť +New browser window Download Window Nové okno prehliadača +Today WebPositive Window Dnes +1 second left Download Window zostáva 1 sekunda +Remember username and password for this site Authentication Panel Zapamätať si používateľské meno a heslo pre túto lokalitu +Earlier WebPositive Window Skoršie +Authentication required Authentication Panel Vyžaduje sa overenie totožnosti +Use proxy server to connect to the internet Settings Window Používať na pripojenie k internetu proxy server There are still downloads in progress, do you really want to quit WebPositive now? WebPositive Ešte stále prebieha sťahovanie. Skutočne chcete teraz WebPositive ukončiť? Auto-hide interface in full screen mode Settings Window Automaticky skryť prvky rozhrania v celoobrazovkovom režime %url failed WebPositive Window Loading URL failed. Don't translate variable %url. %url zlyhalo @@ -62,6 +119,14 @@ Style: Font Selection view Štýl: General Settings Window Všeobecné View WebPositive Window Zobraziť Previous WebPositive Window Predchádzajúce +There was an error creating the bookmark file.\n\nError: %error WebPositive Window Don't translate variable %error Vyskytla sa chyba pri vytváraní súboru záložiek.\n\nChyba: %error +Bookmark error WebPositive Window Chyba záložiek +Do you really want to clear the browsing history? WebPositive Window Skutočne chcete vymazať históriu prehliadania? +Copy WebPositive Window Kopírovať +Open bookmarks confirmation WebPositive Window Potvrdenie otvorenia záložiek +Remove missing Download Window Odstrániť chýbajúce +Clone current page Settings Window Klonovať aktuálnu stránku +Do you want to open %addedCount bookmarks all at once? WebPositive Window Don't translate variable %addedCount. Chcete otvoriť %addedCoun záložiek naraz? OK Authentication Panel OK Copy URL Bar Kopírovať OK WebPositive Window OK diff --git a/data/catalogs/apps/webpositive/zh-Hans.catkeys b/data/catalogs/apps/webpositive/zh-Hans.catkeys new file mode 100644 index 0000000000..91b25b2481 --- /dev/null +++ b/data/catalogs/apps/webpositive/zh-Hans.catkeys @@ -0,0 +1,98 @@ +1 english x-vnd.Haiku-WebPositive 3625199472 +Show home button Settings Window 显示 home 按钮 +Username: Authentication Panel 用户名: +Copy URL to clipboard Download Window 复制 URL 到剪贴板 +Cancel Settings Window 取消 +Close window WebPositive Window 关闭窗口 +Quit WebPositive 退出 +The download could not be opened. Download Window 下载内容无法打开。 +Paste WebPositive Window 粘贴 +Settings Settings Window 设置 +%seconds seconds left Download Window 剩余 %seconds 秒 +Confirmation WebPositive Window 确认 +Window WebPositive Window 窗口 +Decrease size WebPositive Window 缩小 +Serif font: Settings Window 衬线字体: +Loading %url WebPositive Window 载入 %url +Page source WebPositive Window 查看网页源码 +Default fixed font size: Settings Window 默认等宽字体大小: +Close tab WebPositive Window 关闭标签页 +Auto-hide mouse pointer Settings Window 自动隐藏鼠标焦点 +Over 1 hour left Download Window 剩余 1 个小时 +Quit WebPositive Window 退出 +Full screen WebPositive Window 全屏 +Open download error Download Window 打开下载出错 +Standard font: Settings Window 标准字体: +Restart Download Window 重新下载 +Forward WebPositive Window 前一页 +of Download Window ...as in '12kB of 256kB' 全部 +Revert Settings Window 恢复 +Fixed font: Settings Window 等宽字体: +Cut WebPositive Window 剪切 +Bookmark this page WebPositive Window 添为书签页 +There was an error trying to show the Bookmarks folder.\n\nError: %error WebPositive Window Don't translate variable %error 书签页目录显示出错。\n\n错误:%error +Open downloads folder Download Window 打开下载目录 +Number of days to keep links in History menu: Settings Window 历史菜单链接保留天数: +Hide Download Window 隐藏 +Reset size WebPositive Window 重设大小 +Find: WebPositive Window 查找: +Increase size WebPositive Window 放大 +There was an error retrieving the bookmark folder.\n\nError: %error WebPositive Window Don't translate the variable %error 检索书签目录出错。\n错误:%error +Over 1 day left Download Window 剩余 1 天 +Downloads WebPositive Window 下载 +Requesting %url WebPositive Window 请求 %url +Apply Settings Window 应用 +Bookmark info WebPositive Window 书签信息 +Size: Font Selection view 大小: +Show tabs if only one page is open Settings Window 只有单页则显示标签页 +About WebPositive Window 关于 +Finish: Download Window Finishing time 完成: +Fonts Settings Window 字体 +Close WebPositive Window 关闭 +OK Download Window 确定 +Page source error WebPositive Window 页面源码出错 +Open blank page Settings Window 打开空白页 +New tabs: Settings Window 新建标签页: +Cancel WebPositive Window 取消 +Open all WebPositive Window 打开所有 +Clear URL Bar 清除 +Cut URL Bar 剪切 +Clear WebPositive Window 清除 +Remove Download Window 删除 +Find WebPositive Window 查找 +Settings WebPositive Window 设置 +Proxy server address: Settings Window 代理服务器地址: +Proxy server port: Settings Window 代理服务器端口: +Bookmarks WebPositive Window 书签 +%minutes minutes Download Window %minutes 分 +Paste URL Bar 粘贴 +/s) Download Window ...as in 'per second' /s) +Hide password text Authentication Panel 隐藏密码文本 +The quick brown fox jumps over the lazy dog. Font Selection view Don't translate this literally ! Use a phrase showing all chars from A to Z. 敏捷的棕毛小狐狸超越了懒惰的大黄狗。 +1 second left Download Window 剩余 1 秒 +Remember username and password for this site Authentication Panel 记住本站点的用户名和密码 +Earlier WebPositive Window 早期 +Authentication required Authentication Panel 需要身份验证 +Use proxy server to connect to the internet Settings Window 使用代理服务器连接网络 +There are still downloads in progress, do you really want to quit WebPositive now? WebPositive 还有未完成的下载内容,确定退出 WebPositive? +Auto-hide interface in full screen mode Settings Window 全屏模式自动隐藏窗口 +%url failed WebPositive Window Loading URL failed. Don't translate variable %url. %url 失败 +New tab WebPositive Window 新建标签页 +Downloads in progress WebPositive 下载进度 +Style: Font Selection view 样式: +General Settings Window 常规 +View WebPositive Window 视图 +Previous WebPositive Window 后一页 +There was an error creating the bookmark file.\n\nError: %error WebPositive Window Don't translate variable %error 书签文件创建失败。\n\n错误:%error +Bookmark error WebPositive Window 书签错误 +Do you really want to clear the browsing history? WebPositive Window 确定清除浏览历史? +Copy WebPositive Window 复制 +Open bookmarks confirmation WebPositive Window 打开书签确认 +Remove missing Download Window 移除丢失内容 +Clone current page Settings Window 复制当前页面 +Do you want to open %addedCount bookmarks all at once? WebPositive Window Don't translate variable %addedCount. 确认全部打开 %addedCount 个书签页 +OK Authentication Panel 确定 +Copy URL Bar 复制 +OK WebPositive Window 确定 +Manage bookmarks WebPositive Window 管理书签 +A bookmark for this page (%bookmarkName) already exists. WebPositive Window Don't translate variable %bookmarkName 本页面的书签页(%bookmarkName)已经存在。 diff --git a/data/catalogs/bin/desklink/fr.catkeys b/data/catalogs/bin/desklink/fr.catkeys index 5055043dbc..4cf1b82b7a 100644 --- a/data/catalogs/bin/desklink/fr.catkeys +++ b/data/catalogs/bin/desklink/fr.catkeys @@ -1,4 +1,4 @@ -1 french x-vnd.Haiku-desklink 4173541219 +1 french x-vnd.Haiku-desklink 3053930521 Control physical output MediaReplicant Contrôler la sortie physique Couldn't launch MediaReplicant Lancement impossible OK MediaReplicant OK @@ -7,6 +7,7 @@ Sound preferences… MediaReplicant Réglages sons… No media server running VolumeControl Aucun serveur de médias en cours d'exécution Media preferences… MediaReplicant Réglages média… Open MediaPlayer MediaReplicant Ouvrir le Lecteur Média +desklink MediaReplicant desklink Options MediaReplicant Options %ld dB VolumeControl %ld dB Beep MediaReplicant Bip diff --git a/data/catalogs/bin/dstcheck/fr.catkeys b/data/catalogs/bin/dstcheck/fr.catkeys index 5baa9c8fb2..f463772b84 100644 --- a/data/catalogs/bin/dstcheck/fr.catkeys +++ b/data/catalogs/bin/dstcheck/fr.catkeys @@ -1,6 +1,6 @@ 1 french x-vnd.Haiku-cmd-dstconfig 2337923203 Use this time dstcheck Utiliser cette heure Ask me later dstcheck Me demander plus tard -Manually adjust time… dstcheck Ajuster l'heure manuellement -Attention!\n\nBecause of the switch from daylight saving time, your computer's clock may be an hour off.\nYour computer thinks it is dstcheck Attention !\n\nEn raison du changement d'heure, l'horloge de votre ordinateur est peut-être décalée d'une heure. Maintenant, votre ordinateur pense qu'il est +Manually adjust time… dstcheck Ajuster l'heure manuellement… +Attention!\n\nBecause of the switch from daylight saving time, your computer's clock may be an hour off.\nYour computer thinks it is dstcheck Attention !\n\nEn raison du changement d'heure, l'horloge de votre ordinateur est peut-être décalée d'une heure.\nMaintenant, votre ordinateur pense qu'il est .\n\nIs this the correct time? dstcheck .\n\nEst-ce l'heure correcte ? diff --git a/data/catalogs/kits/mail/fr.catkeys b/data/catalogs/kits/mail/fr.catkeys index 1b48c3190b..a7b043fbc0 100644 --- a/data/catalogs/kits/mail/fr.catkeys +++ b/data/catalogs/kits/mail/fr.catkeys @@ -1,7 +1,10 @@ -1 french x-vnd.Haiku-libmail 870689359 +1 french x-vnd.Haiku-libmail 161731481 +Partially download messages larger than ProtocolConfigView Télécharger partiellement les messages plus grands que Password: ProtocolConfigView Mot de passe : +Remove mail from server when deleted ProtocolConfigView Supprimer le courrier du serveur lors de la suppression Mail server: ProtocolConfigView Serveur mail : Select… MailKit Sélectionner… Connection type: ProtocolConfigView Type de connexion : Leave mail on server ProtocolConfigView Laisser le message sur le serveur Username: ProtocolConfigView Nom d'utilisateur : +Login type: ProtocolConfigView Type de connexion : diff --git a/data/catalogs/kits/textencoding/zh-Hans.catkeys b/data/catalogs/kits/textencoding/zh-Hans.catkeys new file mode 100644 index 0000000000..bb0878ae11 --- /dev/null +++ b/data/catalogs/kits/textencoding/zh-Hans.catkeys @@ -0,0 +1,25 @@ +1 english x-vnd.Haiku-libtextencoding 1212670976 +ISO Hebrew textencodings ISO 希伯来语 +ISO Arabic textencodings ISO 阿拉伯语 +ISO Latin 9 textencodings ISO 拉丁文-9 +Japanese Shift JIS textencodings 日语 Shift JIS +DOS Cyrillic textencodings DOS Cyrillic +Windows Cyrillic (CP 1251) textencodings Windows Cyrillic (CP 1251) +Japanese EUC textencodings 日语 EUC +Unicode textencodings Unicode +Chinese GB18030 textencodings 中文 GB18030 +ISO North European textencodings ISO 北欧语言 +ISO Celtic textencodings ISO 凯尔特语族 +Unicode (UCS-2) textencodings Unicode (UCS-2) +Windows Latin-1 (CP 1252) textencodings Windows Latin-1 (CP 1252) +Macintosh Roman textencodings Macintosh Roman +ISO Turkish textencodings ISO Turkish +Japanese JIS textencodings Japanese JIS +KOI8-R Cyrillic textencodings KOI8-R Cyrillic +ISO Baltic textencodings ISO 波罗的语族 +ISO Nordic textencodings ISO Nordic +EUC Korean textencodings EUC Korean +ISO West European textencodings ISO 西欧语言 +ISO East European textencodings ISO 东欧语言 +DOS Latin-US textencodings DOS Latin-US +ISO Cyrillic textencodings ISO 斯拉夫字母 diff --git a/data/catalogs/kits/tracker/fr.catkeys b/data/catalogs/kits/tracker/fr.catkeys index 550dd7b0eb..45a8c9fb4d 100644 --- a/data/catalogs/kits/tracker/fr.catkeys +++ b/data/catalogs/kits/tracker/fr.catkeys @@ -1,4 +1,4 @@ -1 french x-vnd.Haiku-libtracker 3743225404 +1 french x-vnd.Haiku-libtracker 1301055003 common B_COMMON_DIRECTORY commun OK WidgetAttributeText OK Icon view VolumeWindow Vue en icônes @@ -22,6 +22,7 @@ Recent documents FavoritesMenu Documents récents Modified QueryPoseView Modifié Created ContainerWindow Créé Error %error loading add-On %name. ContainerWindow Erreur %error au chargement de l'extension %name. +If you %ifYouDoAction the settings folder, %osName may not behave properly!\n\nAre you sure you want to do this? FSUtils Si vous %ifYouDoAction le dossier des réglages, %osName pourrait ne pas se comporter correctement !\n\nÊtes vous sûr de vouloir effectuer cette opération ? contains SelectionWindow contient Sorry, you can't save things at the root of your system. FilePanelPriv Désolé, vous ne pouvez rien sauvegarder à la racine de votre système. Show shared volumes on Desktop SettingsView Afficher les volumes partagés sur le Bureau @@ -41,6 +42,7 @@ Make active printer ContainerWindow Rendre l'imprimante active Create link here ContainerWindow Créer un lien ici Moving: StatusWindow Déplacement : before FindPanel avant +Error emptying Trash FSUtils Impossible de vider la corbeille On FindPanel Sur MiB WidgetAttributeText Mio greater than FindPanel supérieur à @@ -79,6 +81,7 @@ Decrease size DeskWindow Diminuer la taille Size ContainerWindow Taille All disks AutoMounterSettings Tout les disques Would you like to find some other suitable application? FSUtils Souhaitez-vous rechercher une autre application appropriée ? +Finish: %time - %finishtime left StatusWindow Fin : %time - il reste %finishtime Could not open \"%document\" with application \"%app\" (Missing libraries: %library). \n FSUtils Impossible d'ouvrir « %document » avec l'application « %app » (Il manque la bibliothèque : %library).\n no items CountView aucun élément Ignore case SelectionWindow Ignorer la casse @@ -90,6 +93,7 @@ Cut FilePanelPriv Couper Replace FilePanelPriv Remplacer Select all VolumeWindow Sélectionner tout Opens with: InfoWindow Ouvrir avec : +If you %ifYouDoAction the mime settings, %osName may not behave properly!\n\nAre you sure you want to do this? FSUtils Si vous %ifYouDoAction les réglages des types Mimes, %osName pourrait ne pas se comporter correctement !\n\nÊtes vous sûr de vouloir effectuer cette opération ? Open ContainerWindow Ouvrir 96 x 96 DeskWindow 96 x 96 Error calculating folder size. InfoWindow Erreur de calcul de la taille du dossier. @@ -117,7 +121,9 @@ Select… ContainerWindow Sélectionner… Copy to ContainerWindow Copier vers Move to Trash ContainerWindow Envoyer à la Corbeille Move to ContainerWindow Déplacer vers +Create %s clipping PoseView Créer un extrait de %s Set new link target InfoWindow Définir la nouvelle cible du lien +If you %ifYouDoAction the system folder or its contents, you won't be able to boot %osName!\n\nAre you sure you want to do this?\n\nTo %toDoAction the system folder or its contents anyway, hold down the Shift key and click \"%toConfirmAction\". FSUtils Si vous %ifYouDoAction le dossier système ou son contenu, vous ne pourrez plus amorcer %osName !\n\nÊtes vous sûr de vouloir effectuer cette opération ?\n\nPour %toDoAction le dossier système ou son contenu quand même, maintenez la touche enfoncée et cliquez sur « %toConfirmAction ». Save as Query template: FindPanel Enregistrer le modèle de requête : preferences B_PREFERENCES_DIRECTORY préférences Cancel FSUtils Annuler @@ -134,12 +140,14 @@ OK TrackerInitialState OK Could not open \"%name\". The file is mistakenly marked as executable. FSUtils Impossible d'ouvrir « %name ». Le fichier est marqué exécutable par erreur. Add-ons ContainerWindow Extensions Edit templates… TemplatesMenu Éditer les modèles… +Finish: %time - Over %finishtime left StatusWindow Fin : %time - il reste plus de %finishtime An item named \"%name\" already exists in this folder. Would you like to replace it with the symbolic link you are creating? FSUtils Un élément nommé « %name » existe déjà dans ce dossier. Voulez vous le remplacer par le lien symbolique que vous créez ? Sorry, there is not enough free space on the destination volume to copy the selection. FSUtils Désolé, il n'y a pas assez d'espace libre dans le volume cible pour copier la sélection. Could not open \"%document\" with application \"%app\" (%error). FSUtils Impossible d'ouvrir « %document » avec l'application « %app » (%error). Sorry, saving more than one item is not allowed. FilePanelPriv Désolé, il n'est pas permis de sauvegarder plus d'un élément. Searching for disks to mount… StatusWindow Recherche des disques à monter… New folder FSUtils Nouveau dossier +If you %ifYouDoAction the common folder, %osName may not behave properly!\n\nAre you sure you want to do this?\n\nTo %toDoAction the common folder anyway, hold down the Shift key and click \"%toConfirmAction\". FSUtils Si vous %ifYouDoAction le dossier commun, %osName pourrait ne pas se comporter correctement !\n\nÊtes vous sûr de vouloir effectuer cette opération ?\n\nPour %toDoAction le dossier commun quand même, maintenez la touche enfoncée et cliquez sur « %toConfirmAction ». Free space color SettingsView Couleur de l'espace libre Cut ContainerWindow Couper Remove FindPanel Supprimer @@ -249,6 +257,7 @@ The file \"%name\" already exists in the specified folder. Do you want to replac Cancel ContainerWindow Annuler Only the boot disk AutoMounterSettings Seulement le disque de démarrage Trash TrackerSettingsWindow Corbeille +If you %ifYouDoAction the config folder, %osName may not behave properly!\n\nAre you sure you want to do this? FSUtils Si vous %ifYouDoAction le dossier de configuration, %osName pourrait ne pas se comporter correctement !\n\nÊtes vous sûr de vouloir effectuer cette opération ? Unmount ContainerWindow Démonter Copy layout ContainerWindow Copier la disposition label too long PoseView label trop long @@ -335,6 +344,7 @@ Handles any file OpenWithWindow Manipule n'importe quel fichier Get info FilePanelPriv Informations 32 x 32 DeskWindow 32 x 32 Cancel FilePanelPriv Annuler +The application \"%appname\" does not support the type of document you are about to open.\nAre you sure you want to proceed?\n\nIf you know that the application supports the document type, you should contact the publisher of the application and ask them to update their application to list the type of your document as supported. OpenWithWindow L'application « %appname » ne gère pas le type de document que vous essayez d'ouvrir.\nÊtes-vous sûr de vouloir continuer ?\n\nSi vous pensez que l'application gère ce type de document, essayez de contacter l'éditeur afin qu'il mette à jour son application pour ajouter le type de votre document à la liste de ceux déjà supportés. Disks DirMenu Disques New folder %ld FSUtils Nouveau dossier %ld All BeOS disks AutoMounterSettings Tous les disques BeOS @@ -372,6 +382,7 @@ Preferences… ContainerWindow Préférences… Move PoseView Déplacer Open and make preferred OpenWithWindow Ouvrir et en faire la préférence Are you sure you want to delete the selected item(s)? This operation cannot be reverted. FSUtils Êtes vous sûr de vouloir supprimer l(es) élément(s) sélectionné(s) ? Cette opération est irrémédiable. +If you %ifYouDoAction the home folder, %osName may not behave properly!\n\nAre you sure you want to do this?\n\nTo %toDoAction the home folder anyway, hold down the Shift key and click \"%toConfirmAction\". FSUtils Si vous %ifYouDoAction votre dossier d'accueil, %osName pourrait ne pas se comporter correctement !\n\nÊtes vous sûr de vouloir effectuer cette opération ?\n\nPour %toDoAction votre dossier d'accueil quand même, maintenez la touche enfoncée et cliquez sur « %toConfirmAction ». Add-ons DeskWindow Extensions Name FindPanel Nom And FindPanel Et diff --git a/data/catalogs/kits/tracker/sk.catkeys b/data/catalogs/kits/tracker/sk.catkeys index dad1f51936..dfa5c9bd17 100644 --- a/data/catalogs/kits/tracker/sk.catkeys +++ b/data/catalogs/kits/tracker/sk.catkeys @@ -1,4 +1,4 @@ -1 slovak x-vnd.Haiku-libtracker 2936402334 +1 slovak x-vnd.Haiku-libtracker 1574172506 common B_COMMON_DIRECTORY spoločné OK WidgetAttributeText OK Icon view VolumeWindow Zobrazenie ikon @@ -22,6 +22,7 @@ Recent documents FavoritesMenu Nedávne dokumenty Modified QueryPoseView Zmenené Created ContainerWindow Vytvorené Error %error loading add-On %name. ContainerWindow Chyba %error pri načítaní doplnku %name. +If you %ifYouDoAction the settings folder, %osName may not behave properly!\n\nAre you sure you want to do this? FSUtils Ak %ifYouDoAction priečinok nastavení, %osName sa nemusí chovať správne!\n\nSte si istí, že to chcete urobiť? contains SelectionWindow obsahuje Sorry, you can't save things at the root of your system. FilePanelPriv Ľutujeme, nemôžete ukladať veci do koreňového adresára systému. Show shared volumes on Desktop SettingsView Zobraziť zdieľané zväzky na Ploche @@ -66,7 +67,7 @@ Tracker New Templates B_USER_SETTINGS_DIRECTORY/Tracker/Tracker New Templates N Close all in workspace ContainerWindow Zatvoriť všetky na pracovnej ploche Empty Trash ContainerWindow Vyprázdniť Kôš Name = %name FindPanel FindResultTitle Názov = %name -Are you sure you want to move or copy the selected item(s) to this folder? PoseView Ste si istý, že chcete presunúť alebo skopírovať vybrané položky do tohto priečinka? +Are you sure you want to move or copy the selected item(s) to this folder? PoseView Ste si istí, že chcete presunúť alebo skopírovať vybrané položky do tohto priečinka? Does not handle file OpenWithWindow Nepracuje so súborom Arrange by ContainerWindow Usporiadať podľa Mount server error AutoMounterSettings Chyba pripájacieho servera @@ -91,6 +92,7 @@ Cut FilePanelPriv Vystrihnúť Replace FilePanelPriv Nahradiť Select all VolumeWindow Vybrať všetko Opens with: InfoWindow Otvára sa pomocou: +If you %ifYouDoAction the mime settings, %osName may not behave properly!\n\nAre you sure you want to do this? FSUtils Ak %ifYouDoAction nastavenia MIME, %osName sa nemusí chovať správne!\n\nSte si istí, že to chcete urobiť? Open ContainerWindow Otvoriť 96 x 96 DeskWindow 96 x 96 Error calculating folder size. InfoWindow Chyba pri výpočte veľkosti priečinka. @@ -120,6 +122,7 @@ Move to Trash ContainerWindow Presunúť do Koša Move to ContainerWindow Presunúť do Create %s clipping PoseView Vytvoriť orezanie %s Set new link target InfoWindow Nastaviť nový cieľ odkazu +If you %ifYouDoAction the system folder or its contents, you won't be able to boot %osName!\n\nAre you sure you want to do this?\n\nTo %toDoAction the system folder or its contents anyway, hold down the Shift key and click \"%toConfirmAction\". FSUtils Ak %ifYouDoAction priečinok „system“, %osName sa nemusí chovať správne!\n\nSte si istí, že to chcete urobiť?\n\nAk chcete priečinok „system“ napriek tomu %toDoAction, podržte kláves Shift a kliknite na „%toConfirmAction“. Save as Query template: FindPanel Uložiť ako šablónu Požiadavky: preferences B_PREFERENCES_DIRECTORY nastavenia Cancel FSUtils Zrušiť @@ -143,6 +146,7 @@ Could not open \"%document\" with application \"%app\" (%error). FSUtils Nebol Sorry, saving more than one item is not allowed. FilePanelPriv Ľutujeme, ukladanie viac ako jednej položky nie je dovolené. Searching for disks to mount… StatusWindow Hľadajú sa disky na pripojenie… New folder FSUtils Nový priečinok +If you %ifYouDoAction the common folder, %osName may not behave properly!\n\nAre you sure you want to do this?\n\nTo %toDoAction the common folder anyway, hold down the Shift key and click \"%toConfirmAction\". FSUtils Ak %ifYouDoAction priečinok „common“, %osName sa nemusí chovať správne!\n\nSte si istí, že to chcete urobiť?\n\nAk chcete priečinok „common“ napriek tomu %toDoAction, podržte kláves Shift a kliknite na „%toConfirmAction“. Free space color SettingsView Farba voľného miesta Cut ContainerWindow Vystrihnúť Remove FindPanel Odstrániť @@ -252,6 +256,7 @@ The file \"%name\" already exists in the specified folder. Do you want to replac Cancel ContainerWindow Zrušiť Only the boot disk AutoMounterSettings Iba zavádzací disk Trash TrackerSettingsWindow Kôš +If you %ifYouDoAction the config folder, %osName may not behave properly!\n\nAre you sure you want to do this? FSUtils Ak %ifYouDoAction priečinok „config“, %osName sa nemusí chovať správne!\n\nSte si istí, že to chcete urobiť? Unmount ContainerWindow Odpojiť Copy layout ContainerWindow Kopírovať rozloženie label too long PoseView menovka je príliš dlhá @@ -338,6 +343,7 @@ Handles any file OpenWithWindow Pracuje s ľubovoľným súborom Get info FilePanelPriv Získať info 32 x 32 DeskWindow 32 x 32 Cancel FilePanelPriv Zrušiť +The application \"%appname\" does not support the type of document you are about to open.\nAre you sure you want to proceed?\n\nIf you know that the application supports the document type, you should contact the publisher of the application and ask them to update their application to list the type of your document as supported. OpenWithWindow Aplikácia „%appname“ nepodporuje typ dokumentu, ktorý sa chystáte otvoriť.\nSte si istí, že chcete pokračovať?\n\nAk viete, že aplikácia tento typ dokumentu podporuje, mali by ste kontaktovať vydavateľa aplikácie a požiadať ho, aby aktualizoval aplikáciu, aby uvádzala tento typ dokumentu ako podporovaný. Disks DirMenu Disky New folder %ld FSUtils Nový priečinok %ld All BeOS disks AutoMounterSettings Všetky disky BeOS @@ -374,7 +380,8 @@ You can't replace a folder with one of its sub-folders. FSUtils Nemôžete nahr Preferences… ContainerWindow Predvoľby… Move PoseView Presunúť Open and make preferred OpenWithWindow Otvoriť a nastaviť ako preferovanú -Are you sure you want to delete the selected item(s)? This operation cannot be reverted. FSUtils Ste si istý, že chcete zmazať vybrané položky? Túto operáciu nemožno vrátiť. +Are you sure you want to delete the selected item(s)? This operation cannot be reverted. FSUtils Ste si istí, že chcete zmazať vybrané položky? Túto operáciu nemožno vrátiť. +If you %ifYouDoAction the home folder, %osName may not behave properly!\n\nAre you sure you want to do this?\n\nTo %toDoAction the home folder anyway, hold down the Shift key and click \"%toConfirmAction\". FSUtils Ak %ifYouDoAction priečinok „home“, %osName sa nemusí chovať správne!\n\nSte si istí, že to chcete urobiť?\n\nAk chcete priečinok „home“ napriek tomu %toDoAction, podržte kláves Shift a kliknite na „%toConfirmAction“. Add-ons DeskWindow Doplnky Name FindPanel Názov And FindPanel a diff --git a/data/catalogs/kits/tracker/zh-Hans.catkeys b/data/catalogs/kits/tracker/zh-Hans.catkeys index 577ee6408a..778fbe9f5b 100644 --- a/data/catalogs/kits/tracker/zh-Hans.catkeys +++ b/data/catalogs/kits/tracker/zh-Hans.catkeys @@ -1,4 +1,4 @@ -1 english x-vnd.Haiku-libtracker 1249217006 +1 english x-vnd.Haiku-libtracker 4242202911 common B_COMMON_DIRECTORY 常用 OK WidgetAttributeText 确定 Icon view VolumeWindow 图标视图 @@ -15,10 +15,13 @@ Decrease size ContainerWindow 缩小尺寸 Mini icon view VolumeWindow 迷你图标 You must have at least one attribute showing. PoseView 您必须至少显示一个属性。 Permissions InfoWindow 权限 +128 x 128 DeskWindow 128 x 128 Invert selection VolumeWindow 反向选择 +128 x 128 ContainerWindow 128 x 128 Recent documents FavoritesMenu 最近文本 Modified QueryPoseView 修改 Created ContainerWindow 创建 +Error %error loading add-On %name. ContainerWindow 载入附加组件 %name 出错:%error 。 contains SelectionWindow 包含 Sorry, you can't save things at the root of your system. FilePanelPriv 对不起,您不能够在系统根目录保存内容。 Show shared volumes on Desktop SettingsView 在桌面显示共享卷。 @@ -94,6 +97,7 @@ Add-ons VolumeWindow 附加组件 Sorry, you can't copy items to the Trash. PoseView 对不起,您无法复制项目至垃圾箱。 List view VolumeWindow 列表视图 matches wildcard expression SelectionWindow 匹配通配符表达式 +rename TextWidget As in 'if you rename this folder...' (en) 'Wird dieser Ordner umbenannt...' (de) 重命名 You cannot replace a folder or a symbolic link with a file. FSUtils 您不能够使用文件夹或符号链接替代文件。 Show space bars on volumes SettingsView 显示卷进度栏 Invert selection ContainerWindow 反向选择 @@ -300,6 +304,7 @@ The Tracker must be running to see Info windows. PoseView 文件浏览器必须 Other FilePermissionsView 其它 Query name: FindPanel 查询名称: Permissions ContainerWindow 权限 +96 x 96 ContainerWindow 96 x 96 moving FSUtils 移动中 Identify InfoWindow 标识 Recent folders ContainerWindow 最近目录 diff --git a/data/catalogs/preferences/cpufrequency/fr.catkeys b/data/catalogs/preferences/cpufrequency/fr.catkeys index dc13c04418..b0dbc2f29d 100644 --- a/data/catalogs/preferences/cpufrequency/fr.catkeys +++ b/data/catalogs/preferences/cpufrequency/fr.catkeys @@ -1,6 +1,7 @@ -1 french x-vnd.Haiku-CPUFrequencyPref 3079996868 +1 french x-vnd.Haiku-CPUFrequencyPref 1007318924 Ok Status view Ok CPU frequency status view CPU Frequency View Vue de l'état de la fréquence du CPU +OK Status view OK Set state Status view Changer l'état Defaults Pref Window Par défauts Install replicant into Deskbar CPU Frequency View Installer le réplicant dans la Deskbar diff --git a/data/catalogs/preferences/cpufrequency/ja.catkeys b/data/catalogs/preferences/cpufrequency/ja.catkeys index 3fe185bdbe..fdf804bf0c 100644 --- a/data/catalogs/preferences/cpufrequency/ja.catkeys +++ b/data/catalogs/preferences/cpufrequency/ja.catkeys @@ -1,6 +1,7 @@ -1 japanese x-vnd.Haiku-CPUFrequencyPref 3079996868 +1 japanese x-vnd.Haiku-CPUFrequencyPref 1007318924 Ok Status view Ok CPU frequency status view CPU Frequency View CPU 周波数ビュー +OK Status view OK Set state Status view 設定 Defaults Pref Window デフォルト Install replicant into Deskbar CPU Frequency View レプリカントを Deskbar に表示 diff --git a/data/catalogs/preferences/filetypes/fr.catkeys b/data/catalogs/preferences/filetypes/fr.catkeys index da2d3d289d..7d3b639bd9 100644 --- a/data/catalogs/preferences/filetypes/fr.catkeys +++ b/data/catalogs/preferences/filetypes/fr.catkeys @@ -1,4 +1,4 @@ -1 french x-vnd.Haiku-FileTypes 2037267651 +1 french x-vnd.Haiku-FileTypes 2496450458 Application types… FileTypes Window Types d'applications… Description: Application Types Window Description : Args only Application Type Window Arguments seuls @@ -49,6 +49,7 @@ Name: Application Types Window Nom : Group name: New File Type Window Nom de groupe : Preferred application FileType Window Application préférée Progress Application Types Window Progression +Set preferred application Preferred App Menu Définir l'application préférée File Application Type Window Fichier Version: Application Type Window Version : Select… FileTypes Window Sélectioner… diff --git a/data/catalogs/preferences/filetypes/ja.catkeys b/data/catalogs/preferences/filetypes/ja.catkeys index 48f345a209..31f3f3fc98 100644 --- a/data/catalogs/preferences/filetypes/ja.catkeys +++ b/data/catalogs/preferences/filetypes/ja.catkeys @@ -1,4 +1,4 @@ -1 japanese x-vnd.Haiku-FileTypes 2037267651 +1 japanese x-vnd.Haiku-FileTypes 2496450458 Application types… FileTypes Window アプリケーションタイプ... Description: Application Types Window 説明: Args only Application Type Window 引数のみ @@ -49,6 +49,7 @@ Name: Application Types Window 名前: Group name: New File Type Window グループ名: Preferred application FileType Window 優先アプリケーション Progress Application Types Window 進行状況 +Set preferred application Preferred App Menu 優先アプリケーションを設定する File Application Type Window ファイル Version: Application Type Window バージョン: Select… FileTypes Window 選択... diff --git a/data/catalogs/preferences/filetypes/sk.catkeys b/data/catalogs/preferences/filetypes/sk.catkeys index d5d02bf3ee..c10632762f 100644 --- a/data/catalogs/preferences/filetypes/sk.catkeys +++ b/data/catalogs/preferences/filetypes/sk.catkeys @@ -29,7 +29,7 @@ Add Extension Window Pridať Select same preferred application as FileType Window Vybrať rovnakú preferovanú aplikáciu ako Cancel Attribute Window Zrušiť Icon Application Type Window Ikona -Removing a file type cannot be reverted.\nAre you sure you want to remove it? FileTypes Window Odstránenie typu súboru nemožno vrátiť.\nSte si istý, že ho chcete odstrániť? +Removing a file type cannot be reverted.\nAre you sure you want to remove it? FileTypes Window Odstránenie typu súboru nemožno vrátiť.\nSte si istí, že ho chcete odstrániť? Editable Attribute Window If Tracker allows to edit this attribute. Upravovateľné Multiple launch Application Type Window Viacnásobné spustenie (from application) FileTypes Window (z aplikácie) @@ -82,7 +82,7 @@ Select preferred application FileType Window Vybrať preferovanú aplikáciu Single launch Application Type Window Jednoduché spustenie Golden master Application Types Window Hlavný originál %s file type FileType Window typ súboru %s -The application \"%s\" does not support this file type.\nAre you sure you want to set it anyway? Preferred App Menu Aplikácia „%s“ nepodporuje tento typ súboru.\nSte si istý, že ju chcete nastaviť napriek tomu? +The application \"%s\" does not support this file type.\nAre you sure you want to set it anyway? Preferred App Menu Aplikácia „%s“ nepodporuje tento typ súboru.\nSte si istí, že ju chcete nastaviť napriek tomu? Type: Attribute Window Typ: Removing uninstalled application types Application Types Window Odstraňujú sa typy odinštalovaných aplikácií Done Attribute Window Hotovo @@ -98,7 +98,7 @@ New resource file… FileTypes Window Nový súbor zdrojov… Cancel New File Type Window Zrušiť Icon FileTypes Window Ikona Extension: Extension Window Prípona: -Removing a super type cannot be reverted.\nAll file types that belong to this super type will be lost!\n\nAre you sure you want to do this? To remove the whole group, hold down the Shift key and press \"Remove\". FileTypes Window Odstránenie supertypu nemožno vrátiť.\nVšetky typy, ktoré patria tomuto supertypu budú stratené!\n\nSte si istý, že to chcete urobiť? Ak chcete odstrániť celú skupinu, podržte kláves Shift a stlačte „Odstrániť“. +Removing a super type cannot be reverted.\nAll file types that belong to this super type will be lost!\n\nAre you sure you want to do this? To remove the whole group, hold down the Shift key and press \"Remove\". FileTypes Window Odstránenie supertypu nemožno vrátiť.\nVšetky typy, ktoré patria tomuto supertypu budú stratené!\n\nSte si istí, že to chcete urobiť? Ak chcete odstrániť celú skupinu, podržte kláves Shift a stlačte „Odstrániť“. Internal name: FileTypes Window Vnútorný názov: Add Attribute Window Pridať Close Application Type Window Zatvoriť diff --git a/data/catalogs/preferences/mail/zh-Hans.catkeys b/data/catalogs/preferences/mail/zh-Hans.catkeys index 9ed652f1f0..6578bb49d5 100644 --- a/data/catalogs/preferences/mail/zh-Hans.catkeys +++ b/data/catalogs/preferences/mail/zh-Hans.catkeys @@ -1,10 +1,11 @@ -1 english x-vnd.Haiku-Mail 2262759699 +1 english x-vnd.Haiku-Mail 897524389 Settings Config Window 设置 Never Config Window show status window 从不 Only when dial-up is connected Config Window 仅在拨号连接时 While sending and receiving Config Window 在发送和接收时 days Config Window 天 Incoming Config Window 收件箱 +Server name: E-Mail 服务器名称: OK Config Window 确定 Start mail services on startup Config Window 自启动邮件服务 E-mail address: E-Mail 邮箱地址: diff --git a/data/catalogs/preferences/printers/zh-Hans.catkeys b/data/catalogs/preferences/printers/zh-Hans.catkeys index c13dae1b0b..4dd8f79dd4 100644 --- a/data/catalogs/preferences/printers/zh-Hans.catkeys +++ b/data/catalogs/preferences/printers/zh-Hans.catkeys @@ -1,4 +1,4 @@ -1 english x-vnd.Be-PRNT 2906062670 +1 english x-vnd.Be-PRNT 2674539197 Printer: %printer_name%\nDriver: %driver%\n TestPageView 打印机:%printer_name%\n驱动:%driver%\n Waiting JobListView 等待 Print test page PrintersWindow 打印测试页面 @@ -18,6 +18,7 @@ Processing JobListView 处理中 Red TestPageView 绿 Printer name: AddPrinterDialog 打印机名: Driver: %driver% PrinterListView 驱动程序:%driver% + pending jobs. PrinterListView 挂起任务。 Black TestPageView 黑 Restart job PrintersWindow 重启任务 Add AddPrinterDialog 添加 diff --git a/data/catalogs/preferences/virtualmemory/sk.catkeys b/data/catalogs/preferences/virtualmemory/sk.catkeys index 4d8f1e44aa..f6c01185c9 100644 --- a/data/catalogs/preferences/virtualmemory/sk.catkeys +++ b/data/catalogs/preferences/virtualmemory/sk.catkeys @@ -1,7 +1,7 @@ 1 slovak x-vnd.Haiku-VirtualMemory 688347876 Turn off SettingsWindow Vypnúť GB SettingsWindow GB -Disabling virtual memory will have unwanted effects on system stability once the memory is used up.\nVirtual memory does not affect system performance until this point is reached.\n\nAre you really sure you want to turn it off? SettingsWindow Vypnutie virtuálnej pamäte bude mať nežiadúce účinky na stabilitu systému v prípade vyčerpania pamäte.\nVirtuálna pamäť nemá vplyv na výkon systému pred dosiahnutím tohto stavu.\n\nSte si naozaj istý, že ju chcete vypnúť? +Disabling virtual memory will have unwanted effects on system stability once the memory is used up.\nVirtual memory does not affect system performance until this point is reached.\n\nAre you really sure you want to turn it off? SettingsWindow Vypnutie virtuálnej pamäte bude mať nežiadúce účinky na stabilitu systému v prípade vyčerpania pamäte.\nVirtuálna pamäť nemá vplyv na výkon systému pred dosiahnutím tohto stavu.\n\nSte si naozaj istí, že ju chcete vypnúť? Requested swap file size: SettingsWindow Požadovaná veľkosť odkladacieho súboru: Physical memory: SettingsWindow Fyzická pamäť: Changes will take effect on restart! SettingsWindow Zmeny sa prejavia po reštarte! diff --git a/data/catalogs/servers/mail/fr.catkeys b/data/catalogs/servers/mail/fr.catkeys index cd8a205993..12cd45ca76 100644 --- a/data/catalogs/servers/mail/fr.catkeys +++ b/data/catalogs/servers/mail/fr.catkeys @@ -1,10 +1,11 @@ -1 french x-vnd.Be-POST 1721236869 +1 french x-vnd.Be-POST 677638342 Fetching mail for %name Notifier Récupération des mails de %name Check for mails only DeskbarView Vérifier seulement les courriels Send pending mails DeskbarView Envoyer les courriels en attente New Messages MailDaemon Nouveaux Messages DeskbarView %num new messages DeskbarView %num nouveaux messages +Mail status MailDaemon État du courrier Shutdown mail services DeskbarView Arrêter les services de messagerie %num new message DeskbarView %num nouveau message Sending mail for %name Notifier Envoi des mails de %name diff --git a/data/catalogs/servers/mail/zh-Hans.catkeys b/data/catalogs/servers/mail/zh-Hans.catkeys index 0821d5dd4a..5e6b9bb7ab 100644 --- a/data/catalogs/servers/mail/zh-Hans.catkeys +++ b/data/catalogs/servers/mail/zh-Hans.catkeys @@ -1,5 +1,12 @@ -1 english x-vnd.Be-POST 3758579016 +1 english x-vnd.Be-POST 2898800404 DeskbarView <没有账户> %num new messages DeskbarView %num 条新消息 Mail status MailDaemon 邮箱状态 Shutdown mail services DeskbarView 停止邮件服务 +%num new message DeskbarView %num 条新消息 +%num new messages. MailDaemon %num 条新消息。 +%num new message. MailDaemon %num 条新消息。 +No new messages MailDaemon 无新消息 +No new messages DeskbarView 无新消息 +No new messages. MailDaemon 无新消息。 +Mail status Notifier 邮箱状态 From 11a36918ee84cb21c5965f538a24851a00897ee0 Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Wed, 8 Aug 2012 17:00:18 -0400 Subject: [PATCH 31/34] PoseView::AddPosesTask - no need to open the node at this point --- src/kits/tracker/PoseView.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp index 779947c161..70ae3a9dae 100644 --- a/src/kits/tracker/PoseView.cpp +++ b/src/kits/tracker/PoseView.cpp @@ -1359,7 +1359,7 @@ BPoseView::AddPosesTask(void* castToParams) // have to node monitor ahead of time because Model will // cache up the file type and preferred app // OK to call when poseView is not locked - model = new Model(&dirNode, &itemNode, eptr->d_name, true); + model = new Model(&dirNode, &itemNode, eptr->d_name, false); result = model->InitCheck(); modelChunkIndex++; posesResult->fModels[modelChunkIndex] = model; @@ -1403,15 +1403,12 @@ BPoseView::AddPosesTask(void* castToParams) if (!PoseVisible(model, &(posesResult->fPoseInfos[modelChunkIndex]))) { - model->CloseNode(); modelChunkIndex--; continue; } if (model->IsSymLink()) view->CreateSymlinkPoseTarget(model); - - model->CloseNode(); } bigtime_t now = system_time(); From 52b530a507cf1732e7f8a894eb3a86f5bf4d25b8 Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Wed, 8 Aug 2012 23:46:18 -0400 Subject: [PATCH 32/34] FileTypes preflet: IconView was not updated properly --- src/preferences/filetypes/IconView.cpp | 5 ++++- src/preferences/filetypes/Jamfile | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/preferences/filetypes/IconView.cpp b/src/preferences/filetypes/IconView.cpp index 145eacd727..c694ab3041 100644 --- a/src/preferences/filetypes/IconView.cpp +++ b/src/preferences/filetypes/IconView.cpp @@ -9,6 +9,7 @@ #include #include +#include #include #include #include @@ -616,7 +617,9 @@ IconView::MessageReceived(BMessage* message) if (message->FindString("attr", &name) != B_OK) break; - if (!strcmp(name, "BEOS:L:STD_ICON")) + if (!strcmp(name, kAttrMiniIcon) + || !strcmp(name, kAttrLargeIcon) + || !strcmp(name, kAttrIcon)) Update(); break; } diff --git a/src/preferences/filetypes/Jamfile b/src/preferences/filetypes/Jamfile index ee9b562ee6..3da3b5db08 100644 --- a/src/preferences/filetypes/Jamfile +++ b/src/preferences/filetypes/Jamfile @@ -4,7 +4,7 @@ SetSubDirSupportedPlatformsBeOSCompatible ; AddSubDirSupportedPlatforms libbe_test ; UseLibraryHeaders icon ; -UsePrivateHeaders shared ; +UsePrivateHeaders shared tracker ; SubDirSysHdrs $(HAIKU_TOP) src kits tracker ; Preference FileTypes : From 9766084650014fcee76ba1dd87b48d6ee8c46123 Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Thu, 9 Aug 2012 01:24:31 -0400 Subject: [PATCH 33/34] InfoWindow: Icon wasn't properly refreshing when changing --- src/kits/tracker/InfoWindow.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/kits/tracker/InfoWindow.cpp b/src/kits/tracker/InfoWindow.cpp index 7fd11debd1..11cc5d64de 100644 --- a/src/kits/tracker/InfoWindow.cpp +++ b/src/kits/tracker/InfoWindow.cpp @@ -1163,12 +1163,13 @@ AttributeView::ModelChanged(Model* model, BMessage* message) if (message->FindString("attr", &attrName) == B_OK) { if (strcmp(attrName, kAttrLargeIcon) == 0 || strcmp(attrName, kAttrIcon) == 0) { - Invalidate(BRect(10, 10, 10 + B_LARGE_ICON, 10 - + B_LARGE_ICON)); + IconCache::sIconCache->IconChanged(model->ResolveIfLink()); + Invalidate(); } else if (strcmp(attrName, kAttrMIMEType) == 0) { if (model->OpenNode() == B_OK) { + model->AttrChanged(attrName); InitStrings(model); model->CloseNode(); } @@ -1700,7 +1701,7 @@ AttributeView::MessageReceived(BMessage* message) void -AttributeView::Draw(BRect) +AttributeView::Draw(BRect updateRect) { // Set the low color for anti-aliasing SetLowColor(ui_color(B_PANEL_BACKGROUND_COLOR)); @@ -1719,7 +1720,7 @@ AttributeView::Draw(BRect) SetDrawingMode(B_OP_OVER); IconCache::sIconCache->Draw(fIconModel, this, fIconRect.LeftTop(), kNormalIcon, B_LARGE_ICON, true); - + SetDrawingMode(B_OP_COPY); // Font information font_height fontMetrics; BFont currentFont; From ff163a8803ccc7c45b22b49c58d15628bd83d413 Mon Sep 17 00:00:00 2001 From: Philippe Saint-Pierre Date: Thu, 9 Aug 2012 01:25:50 -0400 Subject: [PATCH 34/34] FileTypes preflet: save HVIF icons as attributes only Previously, changing a file's icon was creating both an attribute and a ressource, now it only saves it as an attribute i.e. don't change the file content. --- src/preferences/filetypes/IconView.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/preferences/filetypes/IconView.cpp b/src/preferences/filetypes/IconView.cpp index c694ab3041..742508d998 100644 --- a/src/preferences/filetypes/IconView.cpp +++ b/src/preferences/filetypes/IconView.cpp @@ -1235,6 +1235,7 @@ IconView::_SetIcon(BBitmap* large, BBitmap* mini, const uint8* data, BFile file(&fRef, B_READ_WRITE); BAppFileInfo info(&file); + info.SetInfoLocation(B_USE_ATTRIBUTES); if (info.InitCheck() == B_OK) { if (large != NULL || force) info.SetIconForType(fType.Type(), large, B_LARGE_ICON);