mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-08-25 02:36:07 +00:00
Wrote a script to check for people who forget to call
* check-signals.pl: Wrote a script to check for people who forget to call gtk_object_class_add_signals. It found only one violation, and that was already fixed by the time I got around to checking this in. * libnautilus-extensions/nautilus-directory-async.c: (get_info_callback): Added a code to check the error result from get_file_info. Without this, we were doing * src/nautilus-sidebar-title.c: (nautilus_sidebar_title_set_uri): Fixed it so we won't destroy and then instantly recreate the same NautilusFile if the URI is set to the same value.
This commit is contained in:
parent
5232190153
commit
b673c1848d
15
ChangeLog
15
ChangeLog
|
@ -1,3 +1,18 @@
|
|||
2000-08-03 Darin Adler <darin@eazel.com>
|
||||
|
||||
* check-signals.pl: Wrote a script to check for people who forget
|
||||
to call gtk_object_class_add_signals. It found only one violation,
|
||||
and that was already fixed by the time I got around to checking
|
||||
this in.
|
||||
|
||||
* libnautilus-extensions/nautilus-directory-async.c:
|
||||
(get_info_callback): Added a code to check the error result from
|
||||
get_file_info. Without this, we were doing
|
||||
|
||||
* src/nautilus-sidebar-title.c: (nautilus_sidebar_title_set_uri):
|
||||
Fixed it so we won't destroy and then instantly recreate the same
|
||||
NautilusFile if the URI is set to the same value.
|
||||
|
||||
2000-08-03 Michael K. Fleming <mfleming@eazel.com>
|
||||
|
||||
*
|
||||
|
|
60
check-signals.pl
Executable file
60
check-signals.pl
Executable file
|
@ -0,0 +1,60 @@
|
|||
#!/usr/bin/perl -w
|
||||
# -*- Mode: perl; indent-tabs-mode: nil -*-
|
||||
|
||||
#
|
||||
# Nautilus
|
||||
#
|
||||
# Copyright (C) 2000 Eazel, Inc.
|
||||
#
|
||||
# This script is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This script is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this script; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
# Author: Darin Adler <darin@eazel.com>,
|
||||
#
|
||||
|
||||
# check-signals.pl: Search for .c files where someone forgot to
|
||||
# put a call to gtk_object_class_add_signals.
|
||||
|
||||
use diagnostics;
|
||||
use strict;
|
||||
|
||||
# default to all the files starting from the current directory
|
||||
if (!@ARGV)
|
||||
{
|
||||
@ARGV = `find . -name '*.c' -print`;
|
||||
}
|
||||
|
||||
# locate all of the target lines
|
||||
my @missing_files;
|
||||
FILE: foreach my $file (@ARGV)
|
||||
{
|
||||
my $has_signal_new;
|
||||
my $has_add_signals;
|
||||
chomp $file;
|
||||
open FILE, $file or die "can't open $file";
|
||||
while (<FILE>)
|
||||
{
|
||||
$has_signal_new = 1 if /gtk_signal_new/;
|
||||
$has_add_signals = 1 if /gtk_object_class_add_signals/;
|
||||
}
|
||||
close FILE;
|
||||
push @missing_files, $file if $has_signal_new && !$has_add_signals;
|
||||
}
|
||||
|
||||
if (@missing_files)
|
||||
{
|
||||
print "\n", scalar(@missing_files), " C files are missing a call to gtk_object_class_add_signals.\n\n";
|
||||
print join("\n", @missing_files), "\n";
|
||||
}
|
||||
|
|
@ -2035,13 +2035,14 @@ get_info_callback (GnomeVFSAsyncHandle *handle,
|
|||
get_info_file = directory->details->get_info_file;
|
||||
g_assert (NAUTILUS_IS_FILE (get_info_file));
|
||||
|
||||
result = results->data;
|
||||
nautilus_file_update_info (get_info_file, result->file_info);
|
||||
|
||||
directory->details->get_info_file = NULL;
|
||||
directory->details->get_info_in_progress = NULL;
|
||||
|
||||
nautilus_file_changed (get_info_file);
|
||||
|
||||
result = results->data;
|
||||
if (result->result == GNOME_VFS_OK) {
|
||||
nautilus_file_update_info (get_info_file, result->file_info);
|
||||
nautilus_file_changed (get_info_file);
|
||||
}
|
||||
|
||||
nautilus_directory_async_state_changed (directory);
|
||||
}
|
||||
|
|
|
@ -2035,13 +2035,14 @@ get_info_callback (GnomeVFSAsyncHandle *handle,
|
|||
get_info_file = directory->details->get_info_file;
|
||||
g_assert (NAUTILUS_IS_FILE (get_info_file));
|
||||
|
||||
result = results->data;
|
||||
nautilus_file_update_info (get_info_file, result->file_info);
|
||||
|
||||
directory->details->get_info_file = NULL;
|
||||
directory->details->get_info_in_progress = NULL;
|
||||
|
||||
nautilus_file_changed (get_info_file);
|
||||
|
||||
result = results->data;
|
||||
if (result->result == GNOME_VFS_OK) {
|
||||
nautilus_file_update_info (get_info_file, result->file_info);
|
||||
nautilus_file_changed (get_info_file);
|
||||
}
|
||||
|
||||
nautilus_directory_async_state_changed (directory);
|
||||
}
|
||||
|
|
|
@ -425,33 +425,39 @@ nautilus_sidebar_title_set_uri (NautilusSidebarTitle *sidebar_title,
|
|||
const char *initial_text)
|
||||
{
|
||||
GList *attributes;
|
||||
|
||||
release_file (sidebar_title);
|
||||
NautilusFile *file;
|
||||
|
||||
if (new_uri == NULL) {
|
||||
sidebar_title->details->file = NULL;
|
||||
file = NULL;
|
||||
} else {
|
||||
sidebar_title->details->file = nautilus_file_get (new_uri);
|
||||
file = nautilus_file_get (new_uri);
|
||||
}
|
||||
|
||||
/* attach file */
|
||||
if (sidebar_title->details->file != NULL) {
|
||||
sidebar_title->details->file_changed_connection =
|
||||
gtk_signal_connect_object (GTK_OBJECT (sidebar_title->details->file),
|
||||
"changed",
|
||||
update_all,
|
||||
GTK_OBJECT (sidebar_title));
|
||||
|
||||
/* Monitor the things needed to get the right
|
||||
* icon. Also monitor a directory's item count because
|
||||
* the "size" attribute is based on that.
|
||||
*/
|
||||
attributes = nautilus_icon_factory_get_required_file_attributes ();
|
||||
attributes = g_list_prepend (attributes,
|
||||
NAUTILUS_FILE_ATTRIBUTE_DIRECTORY_ITEM_COUNT);
|
||||
nautilus_file_monitor_add (sidebar_title->details->file, sidebar_title,
|
||||
attributes, TRUE);
|
||||
g_list_free (attributes);
|
||||
if (file == sidebar_title->details->file) {
|
||||
nautilus_file_unref (file);
|
||||
} else {
|
||||
release_file (sidebar_title);
|
||||
sidebar_title->details->file = file;
|
||||
|
||||
/* attach file */
|
||||
if (file != NULL) {
|
||||
sidebar_title->details->file_changed_connection =
|
||||
gtk_signal_connect_object (GTK_OBJECT (sidebar_title->details->file),
|
||||
"changed",
|
||||
update_all,
|
||||
GTK_OBJECT (sidebar_title));
|
||||
|
||||
/* Monitor the things needed to get the right
|
||||
* icon. Also monitor a directory's item count because
|
||||
* the "size" attribute is based on that.
|
||||
*/
|
||||
attributes = nautilus_icon_factory_get_required_file_attributes ();
|
||||
attributes = g_list_prepend (attributes,
|
||||
NAUTILUS_FILE_ATTRIBUTE_DIRECTORY_ITEM_COUNT);
|
||||
nautilus_file_monitor_add (sidebar_title->details->file, sidebar_title,
|
||||
attributes, TRUE);
|
||||
g_list_free (attributes);
|
||||
}
|
||||
}
|
||||
|
||||
g_free (sidebar_title->details->title_text);
|
||||
|
|
Loading…
Reference in a new issue